- 스프링컨테이너 - 애플리케션의 기본틀
- 스프링은 스플링 컨테이너 또는 애플리케이션 컨텍스트라고 불리는 스프링 런타임 엔진 제공
- 스프링 컨테이너는 독립적으로 동작할수도 있지만 보통 웹 모듈에서 동작하는 서비스나 서블릿을 등록해서 사용한다
- 공통프로그래밍모델 -IoC/DI , 서비스추상화, AOP
- Ioc/DI 오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델
스프링 프레임워크에서 동작하는 코드는 Ioc/DI방식에 따라 작성돼야 스프링이 제공하는 가치를 제대로 누릴 수 있다
(스프링이 제공하는 모든기술과 API 컨테이너도 Ioc/DI방식으로 작성되어 있다)
프레임워크는 애플리케이션을 구성하는 오브젝트가 생성되고
동작하는 방식에 대한 틀을 제공해줄 뿐만 아니라 애플리케이션
코드가 어떻게 작성돼야 하는지에 대한 기준을 제시해줌
-> 프로그래밍 모델
- 서비스추상화
특정 기술에 종속되지않고 이식성이 뛰어나며 유연한 어플리케이션을 만들 수 있도록 유연한 추상계층을 두는 방법
- AOP
애플리케이션 코드에 산재해서 나타나는 부가적인 기능을 독립적으로 모듈화하는 프로그래밍 모델
- 기술API
웹프레젠테이션계층/비즈니스서비스계층/기반서비스계층/도메인계층/데이터액세스 계층/UI등 필요한 주요 기술을 스프링에서 일관된 방식으로 사용할 수 있도록 지원해주는 기능과 전략 클래스 제공
-
스프링의 단순함 객체지향적 모델인 POJO프로그래밍
-
스프링의 유연성
스프링은 프레임워크를 위한 프레임워크 또는 여러 프레임워크를 함께 사용하게 해주는 접착 프레임워크