스프링 프레임워크 3.0의 새로운 기능 및 향상된 기능

스프링 프레임워크는 Java 5 기반이고, Java 6를 완전하게 지원함.

스프링은 J2EE 1.4와 Java EE 5와 호환되며, Java EE 6를 일찍부터 지원함.

1. Java 5

2. 새로운 모듈 구조와 빌드 시스템

2.1. 새로운 모듈 구조

프레임워크 모듈을 수정하여, 모듈 jar별로 하나의 소스트리로 분리해서 관리함.

2.2. 새로운 빌드 시스템

ex) 스프링 웹 플로우(Web Flow) 2.0

전체 프레임워크를 대부분 포함하고 있는 spring.jar artifact는 더 이상 제공하지 않음.

3. 새로운 기능

3.1. Java 5를 위한 코어 API 업데이트

BeanFactory 인터페이스는 가능한한 타입이 있는 빈을 리턴함.

스프링의 TaskExecutor 인터페이스는 java.util.concurrent.Executor를 상속받음.

Java 5 기반의 새로운 변환 API와 SPI

타입이 있는 ApplicationListener<E>

3.2. 스프링 표현 언어(SpEL)

아래는 데이터베이스 설정의 프로퍼티 설정에 대한 예시임.

3.3. 제어의 역전(IoC) 컨테이너

자바 기반 빈 메타데이터

JavaConfig 프로젝트로부터 일부 핵심기능이 스프링 프레임워크에 추가됨. 아래 애노테이션을 직접 지원함.

아래는 새로운 JavaConfig 기능을 사용해서 기본적인 설정을 제공하는 자바 클래스의 예제임.

이 설정이 동작하게 하려면 애플리케이션 컨텍스트 XML 파일에 컴포넌트 스캔을 추가해야 함.

또는 AnnotationConfigApplicationContext를 직접 사용하는 @Configuration 클래스를 사용할 수 있음.

컴포넌트안에서 빈 메타데이터 정의

3.4. 범용적인 타입 컨버전(형 변환) 시스템 및 필드 포맷 시스템

3.5. 데이터 계층

3.6. 웹 계층

포괄적인 REST 지원

@MVC 추가

3.7. 선언적인 모델 검증

3.8. Java EE 6를 위한 조기 지원

3.9. 임베디드 데이터베이스 지원