스프링프레임워크(Spring Framework)
자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 스프링(Spring)이라고도 불림
스프링프레임워크의 구성
- Spring Core
Spring 프레임워크의 근간이 되는 IoC(또는 DI) 기능을 지원하는 영역을 담당
BeanFactory를 기반으로 Bean 클래스들을 제어할 수 있는 기능을 지원
- Spring Context
Spring Core 바로 위에 있으면서 Spring Core에서 지원하는 기능외에 추가적인 기능들과 좀 더 쉬운 개발이 가능하도록 지원
또한 JNDI, EJB등을 위한 Adaptor들을 포함
- Spring DAO
지금까지 우리들이 일반적으로 많이 사용해왔던 JDBC 기반하의 DAO개발을 좀 더 쉽고, 일관된 방법으로 개발하는 것이 가능하도록 지원
Spring DAO를 이용할 경우 지금까지 개발하던 DAO보다 적은 코드와 쉬운 방법으로 DAO를 개발하는 것이 가능
- Spring ORM
Object Relation Mapping 프레임워크인 Hibernate, IBatis, JDO와의 결합을 지원하기 위한 기능
Spring ORM을 이용할 경우 Hibernate, IBatis, JDO 프레임워크와 쉽게 통합하는 것이 가능
- Spring AOP
Spring 프레임워크에 Aspect Oriented Programming을 지원하는 기능이다. 이 기능은 AOP Alliance 기반하에서 개발
- Spring Web
Web Application 개발에 필요한 Web Application Context와 Multipart Request등의 기능을 지원
또한 Struts, Webwork와 같은 프레임워크의 통합을 지원하는 부분을 담당
- Spring Web MVC
Spring 프레임워크에서 독립적으로 Web UI Layer에 Model-View-Controller를 지원하기 위한 기능
지금까지 Struts, Webwork가 담당했던 기능들을 Spring Web MVC를 이용하여 대체하는 것이 가능하다. 또한 Velocity, Excel, PDF와 같은 다양한 UI 기술들을 사용하기 위한 API를 제공
스프링프레임워크의 특징
1. 경량 컨테이너로 자바 객체를 직접 관리
각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하고 스프링으로부터 필요한 객체를 얻어올 수 있음
2. POJO(Plain Old Java Object)방식의 프레임워크
기존에 존재하는 라이브러리 등을 지원에 용이
3. 제어 반전 지원
필요에 따라 스프링에서 사용자의 코드를 호출
4. 의존성 주입 지원
각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결
5. 관점 지향 프로그래밍
트랜잭션, 로깅, 보안과 같은 여러모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리
6. 영속성과 관련된 다양한 서비스 지원
ex) ibatis, Hibernate 등 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스 제공
7. 높은 확장성
더 자세한 정보는 아래를 참고해주세요!
Spring 프레임워크 소개와 IoC 및 Spring IoC의 개념
'프로그래밍 > Spring Framework' 카테고리의 다른 글
Spring MVC 루트 컨테이너로 등록 (0) | 2016.06.17 |
---|---|
Spring MVC 예제 (annotation방식) (0) | 2016.06.16 |
Spring MVC 예제 (xml 따로 등록하는 방식) (0) | 2016.06.16 |
Spring MVC 구성 주요 컴포넌트 (0) | 2016.06.16 |
Eclipse Spring Framework 구축 (0) | 2016.06.13 |