스프링 프레임워크 3.2의 새로운 기능 및 향상된 기능
1. 서블릿 3 기반 비동기 요청 처리 지원
스프링 MVC 프로그래밍 모델은 이제 명쾌한 서블릿 3 비동기를 지원함.
@RequestMapping 메서드는 아래 중 하나를 리턴할 수 있음
- java.util.concurrent.Callable는 스프링 MVC 내에서 task executor에 의해 관리되는 별도의 스레드에서 처리를 완료함.
- org.springframework.web.context.request.async.DeferredResult는 스프링 MVC에 알려지지 않은 스레드(예. 일부 외부 이벤트에 대한 응답 - JMS, AMQP 등)를 나중에 처리를 완료함.
- org.springframework.web.context.request.async.AsyncTask는 Callable을 래핑(wrap)하고, 타임아웃 값이나 task executor 사용여부를 커스터마이즈 함.
2. 스프링 MVC 테스트 프레임워크
스프링 MVC 애플리케이션을 테스트하기 위해 서블릿 컨테이너 없이 fluent API를 테스트할 수 있도록 지원함.
Server-side tests involve use of the DispatcherServlet while client-side REST tests rely on the RestTemplate.
섹션 11.3.6, “스프링 MVC 테스트 프레임워크” 참고
3. 콘텐츠 네비게이션 개선
4. @ControllerAdvice 애노테이션
5. Matrix 변수 (Matrix URIs 참고)
6. 코드 기반의 서블릿 3+ 컨테이너 초기화를 위한 추상 기본 클래스
7. ResponseEntityExceptionHandler 클래스
8. RestTemplate 및 @RequestBody 인자(arguments)에서의 제너릭 타입 지원
9. Jackson JSON 2와 관련 기능 개선
10. Tiles 3
11. @RequestBody 개선
12. HTTP PATCH 메서드
13. 매핑된 인터셉터에서의 제외 패턴 지원
14. 주입 지점(injection points)과 빈 정의 메서드를 위한 메타 애노테이션 사용
15. JCache 0.5에 대한 초기 지원
16. Joda Time 없이 @DateTimeFormat 지원
17. 글로벌 날짜 / 시간 포맷팅
18. 새로운 테스트 기능
19. 프레임워크 전반의 동시성 개선
20. 새로운 그래들(Gradle) 기반 빌드 및 GitHub로 소스 이동
21. 세련된 자바 SE 7 / 오픈JDK 7 지원