스프링의 목적
- 애플리케이션 개발을 빠르고 효율적으로 할 수 있도록
바탕이 되는 틀과 공통 프로그래밍 모델, 기술 API등을 제공하는 것
스프링 컨테이너 - 바탕이 되는 틀
- 설정 정보를 참고로 해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리함
- 스프링을 사용하기 위해서는 스프링 컨테이너를 다루는 방법과, 설정정보를 작성하는 방법을 알아야함.
IoC/DI, 서비스 추상화, AOP - 공통 프로그래밍 모델
프로그래밍 모델이란
- 애플리케이션 코드가 어떻게 작성되어야 하는지에 대한 기준
IoC/DI
- 오브젝트의 생명주기와 의존 관계에 대한 프로그래밍 모델
- 이 방식대로 코드가 작성되야 스프링을 제대로 활용했다고 볼 수 있음
서비스 추상화
- 구체적인 기술과 환경에 종속되지 않도로고 유연한 추상 계층을 두는 방법
- 특정 환경이나, 서버, 기술에 종속되지 않는 유연한 애플리케이션 작성 가능
AOP
- 애플리케이션 이곳 저곳에 나타나는 기능을 독립적으로 모듈화하는 모델
기술 API
- UI작성부터 여러 계층에서 필요한 주요 기술을 일관된 방식으로 사용할 수 있도록 지원하는 기능과, 전략 클래스를 제공
- 모두 스프링의 프로그래밍 모델에 따라 작성되어 있기 때문에, 잘 가져다 쓰는 것으로 스프링의 프로그래밍 모델을 코드에 적용 가능