主要更新:
1、废弃的方法和包
在4.0版本,标识为deprecated的方法和包将会被废弃且不会继续支持。这位从老版本的Spring向4.0迁移提出了挑战。如果你想升级到新版本,请查看如下链接查看废弃的API区别。
API区别
2、Java 8 支持
4.0是第一个支持Java 8所有特征的Spring版本。4.0推荐至少使用Java 6,新项目推荐使用Java 7.0。
3、Java EE 6和7
Java EE 6及以上是Spring4.0的底线,使用JPA 2.0和Servle3.0规范。可以使用Servlet2.5,但建议使用Servlet3.0环境。
4、使用Groovy作为bean定义的DSL
4.0可以使用Groovy语言来定义Spring的bean。参考API获得更多细节。
5、Spring Core的改变
Spring的core有大量的变动:
- 在基于Java的配置里添加了@Description。
- 引入@Conditional越来基于条件的过滤bean。
- 当bean被注入到list或者array时可以排序。@Ordered和Ordered注解都支持。
- 如果使用spring的注解支持,你可以从本来的注解使用从自定义注解来曝露特定的属性。
6、Spring Web模块特性
- 4.0推荐使用Servlet3.0+环境,如果你使用Spring Testing Framework,Servlet3.0的相关jar包也应该放入test的classpath里。
- 增加了一个@RestController注解来定义Rest web service,它有一个内置的@ResponseBody属性。它是一个@Controller的一个专门版本。
- Spring MVC里提供广泛的时区支持。
7、测试特性
- spring-test模块里的所有注解都可以用作meta-annotation,这样可以自定组合注解来减少测试时的重复配置。
- org.springframework.mock.web 包与Servlet 3.0适配。
8、websocket的支持
顶级支持websocket,支持JSR 356及SockJS,使开发websocket和开发Spring MVC一样简单。