[덧글] 1월 23일에도 웨비나가 있었고 이번엔 앞부분을 약간 놓치고 다 봤다. 관심 있는 사람은 유튜브에서 보기 바란다.
구랍 12월에 스프링 프레임웍 4.0 GA가 발표됐었고 엊그제 Spring IO에서 웨비나를 한다길래 꼭 보려고 했는데 그만 놓치고 말았다. 요즘 야근으로 정신이 없다. T_T
그래서 남이 알려주기 전에 직접 알아보기로 했다. 출처는 스프링 블로그와 지침서 등이다. 과연 스프링 4.0에서는 뭐가 새로워졌는가?
자바 8과 궁합이 잘 맞음
- 프리 릴리즈 버전인 자바 8과 잘 작동하며 2014년 3월에 OpenJDK 8이 나오면 바로 실무 가능
- 람다, 메서드 참조, JSR-310 날짜 및 시간(java.time), 반복적 어노테이션(@Repeatable) 등 활용
- Hibernate, Quartz, EhCache 등의 최신 버전 지원
- 최소 자바 버전은 자바 SE 6 업데이트 10 이상, 자바 EE 6 이상. JPA 2.0, 서블릿 3.0 이상이 권장된다.
최근 일반화되고 있는 아키텍처 경향 반영
- 최근 자바 아키텍처가 마이크로 서비스 아키텍처(MSA), REST를 기본으로 하고 있는데 스프링 4.0에서 이를 잘 지원한다. 특히 REST는 이제 최우선시된다(1st class citizen).
- HTML5 웹소켓 지원으로 메시징 아키텍처 기반을 서버 및 클라이언트 모두에서 제공한다.
- 프리젠테이션 레이어를 클라이언트 티어가 담당하고 웹소켓으로 데이터를 주고 받는 인터랙티브한 웹 애플리케이션 개발이 쉽다.
- 스프링 부트(Boot)는 @Conditional 빈(bean) 정의 구조를 바탕으로 REST 기반 마이크로 서비스의 "컨테이너 없는", 즉 임베디드 런타임을 제공하며 스프링의 초기 설정을 거의 제거할 수 있다.
기타 사항들
- 애플리케이션 일부나 전부를 그루비로 개발 가능
- 디프리케이트 상태였던 패키지는 전부, 클래스 및 메서드는 일부가 제거됨
- 관련 써드파티 라이브러리는 최소 2010년이나 2011년 이후의 버전을 사용해야 함. 예를 들어 Hibernate 3.6 이상, EhCache 2.1 이상, Quartz 1.8 이상 등. 예외적으로 Hibernate Validator는 4.3 이상, Jackson은 2.0 이상으로 더 최신 버전이 권장됨.
- 스프링 MVC 테스트 프레임웍은 서블릿 3.0을 필요로 함
- 새롭게 @RestController 어노테이션을 사용하면 @RequestMapping된 메서드들마다 @ResponseBody를 붙이지 않아도 됨
- AsyncRestTemplate 클래스를 사용하여 REST 클라이언트 개발시 (비중단) 비동기 지원
- 로캘에 있어서 시간대 지원
아… 공부할 게 많아졌다. 특히 웹소켓이 중요한 것 같은데 이미 자바 EE 7에서 웹소켓을 지원하는 API가 있으므로 그것부터 공부해야겠다. http://docs.oracle.com/javaee/7/tutorial/doc/websocket.htm
또 Spring IO 사이트도 변화된 점이 자습서(guide)가 많아졌다는 것이다. STS에서 자습서를 넣고 실행하면 단계적으로 스프링을 공부할 수 있다.
마이크로 서비스도 뭔지 한번 봐야겠는데 발표 자료 하나가 유명하다고 권장하므로 시간 내서 봐야겠다. http://www.infoq.com/presentations/Micro-Services