spring-各版本特性

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的支持

支持定義全局的格式來解析和渲染日期與時間

常用全局格式化時間方法:https://www.cnblogs.com/zhanghongbo19870214/p/6555339.html

Spring3配置全局時間格式化:http://blog.csdn.net/chenleixing/article/details/45156617

集成測試中能夠配合和加載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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章