인생을 코딩하다.

[토비의 스프링 정리] 들어가며 본문

Spring

[토비의 스프링 정리] 들어가며

Hyung1 2021. 6. 4. 20:54
728x90
반응형

스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크다. 애플리케이션의 바탕이 되는
틀과 공통 프로그래밍 모델, 기술 API 등을 제공해준다.

애플리케이션의 기본 틀 - 스프링 컨테이너

스프링은 스프링 컨테이너 또는애플리케이션 컨텍스트라고 불리는 스프링 런타임 엔진을 제공한다 스프링 컨테이너는 설정정보를 참고로 해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리한다. 스프링 컨테이너는 독립적으로 동작할 수도 있지만 보통 웹 모듈에서 동작하는 서비스나 서블릿으로 등록해서 사용한다.

공통프로그래밍 모델 - IoC/DI, 서비스 추상화, AOP

프레임워크는 애플리케이션을 구성하는 오브젝트가 생성되고 동작하는 방식에 대한 틀을 제공해줄 뿐만 아니라, 애플리케이션 코드가 어떻게 작성돼야 하는지에 대한 기준도 제시해준다. 스프링은 세 가지 핵심 프로그래밍모델을 지원한다.

  • 첫 번째는 IoC/DI라고 불리는 오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델이다.
  • 두 번쨰는 서비스 추상화*다. 구체적인 기술과 환경에 종속되지 않도록 유연한 추상 계층을 두는 방법이다.
  • 세 번째는 AOP다. AOP는 애프리케이션 코드에 산재해서 나타나는 부가적인 기능을 독립적으로 모듈화하는 프로그래밍 모델이다.

스프링 3.0의 달라진 기능

  • Java 5와 JavaEE 6
  • 스프링 표현식 언어(SpEl)
  • 자바 코드를 이용한 DI설정과 DIJ(JSR-330)
  • OXM
  • @MVC와 REST
  • 내장형 DB 지원
  • Converter, ConversionService, Formatter

스프링 3.1에 추가된 새로운 기능

  • 강화된 자바 코드를 이용한 빈 설정
  • 런타임 환경 추상화
  • JPA 지원 확장과 하이버네이트 4 지원
  • 새로운 DispatcherServlet 전략과 플래시 맵
  • 캐시 추상화
728x90
반응형
Comments