主要更新:

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一样简单。