3.1

添加了引入环境profile功能

添加了@enable注解,使用特定功能

添加了对声明式缓存的支持,能够使用简单的注解声明缓存边界和规则

添加的用于构造器注入的c命名空间,类似与Spring2的p命名空间,用于对应属性注入

开始支持Servlet3.0,包括基于java配置中生命Servlet和Filter,不再只仅仅借助web.xml

改善对于JPA的支持,让JPA能在Spring中完整配置JPA,不必再使用persistence.xml文件

springmvc

自动绑定路径变量到模型属性中

提供了@RequestMappingProduces和consumes属性,用于匹配请求中的Accept和Content-Type头部信息

提供了@RequestPart注解,用于将Multipart请求中的而某些部分绑定到处理器的方法参数中

支持Flash属性,在redirect请求后依然能够存活的属性,flash属性的RedirectAttribute类型

3.2

可以使用Servlet3.0的异步请求,允许一个独立的线程中处理请求

Spring3的Controller单例但是多线程

引入了SpringMVC测试框架,用于为控制器编写更丰富测试,断言他们作为控制器行为是否正确,而且在使用过程不需要Servlet容器

@ControllerAdvice注解能将通用的@ExceptionHandler、@InitBinder和@ModelAttributes方法收集到一个类中,并应用到所有的控制器上

包含了一个新的@MatrixVariable注解,这个注解能够将请求中的矩阵变量(matrix variable)绑定到处理器的方法参数中

基础的抽象类AbstractDispatcherServletInitializer能够非常便利地配置DispatcherServlet,而不必再使用web.xml。与之类似,当你希望通过基于Java的方式来配置Spring的时候,可以使用Abstract-AnnotationConfigDispatcherServletInitializer的子类

新增了ResponseEntityExceptionHandler,可来替代Default-HandlerExceptionResolver,

ResponseEntityExceptionHandler方法会返回ResponseEntity,而不是ModelAndView

RestTemplate和@RequestBody的参数可支持泛型

RestTemplate和@RequestMapping可支持Http的PATCH方法

@Autowired、@Value和@Bean注解能够作为元注解,用于创建自定义的注入和bean声明注解

@DateTimeFormat注解不再强依赖JodaTime

Spring的声明式缓存提供了JCache0.5的支持

支持定义全局的格式来解析和渲染日期与时间

常用全局格式化时间方法:

Spring3配置全局时间格式化:

集成测试中能够配合和加载WebApplicationContext

在集成测试中你能够针对requesthesession作用于的bean进行测试

4.0

提供了对WebSocket编程的支持

添加了新的消息模块,SpringIntegration项目

第一批支持java8特性的框架(支持lambda表达式)

支持JSR-310,Date与TimeAPI,提供比java.util.Date,java.util.Calendar更丰富便捷的时间API

为Groovy开发的应用程序提供了更加顺便的编程体验,尤其是支持非常便利的完全采用Groovy开发的Spring应用程序

添加了条件化创建Bean的功能

Spring4包含了Spring RestTemplate的一个新的一步实现,他会立即返回并且允许在操作完成后执行回调

添加了对多想JEE规范的支持,包括JMS2.0、JTA1.2/JPA2.1和BeanValidation1.1

5.0

基准升级:要构建和运行 Spring5 应用程序,你至少需要 J2EE7 和 JDK8。以前的 JDK 和 JavaEE 版本不再支持。

兼容 JDK9 运行时

使用 JDK8 特性 比如 lambda 表达式、stream流

响应式编程支持,新增Spring WebFlu模块 与 Spring MVC 并列使用

提供了一个函数式Web框架。它提供了使用函数式编程风格来定义端点的特性。 该框架引入了两个基本组件:HandlerFunction 和 RouterFunction。

Kotlin支持

取消了对几个框架的支持。例如:
Portlet、Velocity、JasperReports、XMLBeans、JDO、Guava