TIL | [Spring] 스프링 프레임워크 특징

hyemin·2022년 3월 30일
0

Spring

목록 보기
3/7
post-thumbnail
post-custom-banner

스프링 프레임워크란?

스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로 앤터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 프레임워크이다. 보통은 스프링(Spring)이란 이름으로 더 많이 불린다.

공식문서에 따르면 "개발자들의 겨울은 끝났다. Spring Pramework를 통해 개발자들의 봄이 도래했다"라는 의미에서 Spring이라는 이름을 갖게 되었다고 한다.

스프링 프레임워크 특징

1. 경량 컨테이너

  • 서버 개발시 크게 3계층 Controller, Service, Repository로 나누어 객체 생성, 소멸 같은 라이플 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어오게 된다

  • 여러개의 모듈로 이루어져 모듈들을 조합하여 필요에 맞게 사용이 가능하다
    EX) Spring Security, Spring Thyleaf

    모듈은 하나 이상의 JAR 파일로 구성되어있어 몇 개의 JAR 파일로 개발과 실행을 할 수 있다

2. IoC(제어의 역행) 컨테이너

  • 제어권이 사용자가 아니라 프레임워크에 있어 IoC 컨테이너에서 객체를 생성해 Bean으로 인식하고 의존성을 관리해준다

  • 객체 간의 느슨한 결합을 도모해 유지보수가 용히하다

3. POJO(Plain Old Java Object) 지원

  • 객체를 불러오기 위해서 불필요한 코드가 과도하게 쌓이는 기존의 EJB 단점을 보완하기 위해 나온 개념

  • getter/setter를 가진 단순한 자바 오브젝트로 의존성이 없고 추후 테스트 및 유지보수가 편리하다는 장점이 있다

+

이외에도 아래와 같은 특징을 가진다

  • DI(의존성 주입) 지원
  • 비즈니스 로직에 집중할 수 있음
    - Controller와 JPA가 각각 클라이언트와 DB 사이에서 번역기 역할을 해줌
  • 20년 이상 계속 발전해온 프레임워크
post-custom-banner

0개의 댓글