자바엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크.
기본 틀, 공통프로그래밍 모델, 기술API 등을 제공한다.
스프링을 사용한다는 것은 다음 세가지 요소를 적극적으로 활용해서 개발한다는 뜻이다.
애플리케이션을 구성하는 오브젝트가 생성되고 동작하는 방식에 대한 틀을 제공해준다. 코드의 작성방법의 기준도 제시한다. 이런 틀을 보통 프로그래밍모델이라 한다.
UI작성 뿐만아니라, 웹프레젠테이션 계층, 비지니스 서비스 계층 등 다양한 서비스에서 필요한 주요 기술을 스프링에서 일관된 방식으로 사용할 수 있도록 지원해주는 기능과 전략클래스 등을 제공한다.
스프링이 제공하는 API와 지원 기술은 모두 스프링의 프로그래밍모델( ioc/di, 서비스추상화, aop를 말하는 것인가?) 에 따라 작성되있기 때문에 쓰는 것만으로도 스프링의 프로그래밍모델을 코드에 자연스레 녹여낼 수 있다.
위 세가지 요소를 적극적으로 활용해서 애플리케이션을 개발한다는 뜻
1. 클래스는 스프링 컨테이너 위에서 오브젝트로 만들어져 동작하게 만든다.
2. 코드는 스프링의 프로그래밍 모델에 따라 작성한다.
3. 엔터프라이즈 기술을 사용할 때는 스프링이 제공하는 기술API와 서비스를 활용한다.