Spring 4.1目前已經發布RC1版本,而GA版本預計在14年9月中旬發布;其中有部分內容直接借鑒自Spring Boot,而Spring Boot從目前趨勢來看已經是Spring的頂級項目;另外也提供了頁面自動化測試框架Spring MVC Test HtmlUnit,和Spring MVC Test一樣先是獨立項目,如果發展態勢很好,會最終合并到Spring Framework中。
從目前來看Spring 4.1并沒有特別吸引眼球的地方,主要還是增強和一些依賴的版本升級。主要改進如下:
1、核心部分基本上無變化,提供了DirectFieldAccessor用于直接字段訪問、yaml配置、SpEL的字節碼編譯化、BackOff退避算法的基本實現、Base64Utils、SmartInitializingSingleton等;
2、在任務調度和事件機制上加入了異常處理部分;
3、cache部分加入jcache的集成、類級別的@CacheConfig的支持、CacheResolver;
4、mvc部分提供了一些視圖解析器的mvc標簽實現簡化配置、提供了GroovyWebApplicationContext用于Groovy web集成、提供了Gson、protobuf的HttpMessageConverter、靜態資源處理方面添加了resolver和transformer、提供了對groovy-templates模板的支持、JSONP的支持、對Jackson的@JsonView的支持等;
5、提供了頁面自動化測試框架Spring MVC Test HtmlUnit;
6、test部分提供了更便利的@sql標簽來執行測試腳本的初始化、MockRestServiceServer對AyncRestTemplate支持、MockMvcConfigurer來全局配置MockMvc;
7、提供了對Java 8 Optional的支持(ObjectToOptionalConverter實現;可以在MVC中如@RequestParam等注解的綁定)、從Spring 4.1起Ehcache支持需要EhCache 2.5或更高版本、兼容Quartz 2.1.4、支持javax.annotation.Priority(等價于@Order)、JMS API的增強、SpringJUnit4ClassRunner需要 JUnit 4.9或更高版本支持。
從目前發展來看Spring把重點放在了Spring Boot上,另一方面Spring體系太龐大,要尋找和添加依賴,及選擇版本特別麻煩,而且容易產生版本沖突等,因此又誕生了Spring IO Platform,如果用過maven的話,相當于給你很多默認依賴,然后需要的時候直接添加即可,無需指定版本。
從如上可以看出,吸引人的新特性很少,另外目前還不穩定,API異變,功能有BUG,如果沒有把控能力,不建議把新特性用于新項目,后續部分我會按照如下幾部分講解Spring4.1新特性:
Spring核心部分及其他
Spring緩存框架增強
異步調用和事件機制的異常處理
數據庫集成測試腳本初始化
Spring MVC增強
頁面自動化測試框架Spring MVC Test HtmlUnit簡介
靜態資源處理增強
目前給我的印象是Spring Framework已經非常龐大,基本使用還是比較簡單,而且如果深入下去基本上我們需要的功能都可以進行擴展,這也是最佩服它的一點,目前給我最不好的就是Java Config和XML Config都支持,會給人一種混亂的感覺;其實最好把這種配置也單獨提取到一個項目中。因為我在測試Spring 4.1時遇到過在Java Config下好用,而XML Config下實現錯誤。從目前發展態勢來看,
1、推廣它們的Groovy;
2、微服務;
3、周邊的各種生態集成;
4、目前最需要解決的就是簡化使用;功能太多造成學習成本也高了,會嚇跑一些人。用好了Spring生態系統,工作起來真的是很得心應手。
依賴:
使用4.1.0.BUILD-SNAPSHOT,請使用Spring官方maven倉庫下載依賴。
Java代碼
1
2
3
4
5
6
7
8
9
10
11
12
|
<repositories> <repository> <id>spring-milestone</id> <url>https: //repo.spring.io/libs-milestone</url> </repository> <repository> <snapshots><enabled> true </enabled></snapshots> <id>repository.spring.snapshot</id> <name>Spring Snapshot Repository</name> <url>http: //repo.spring.io/snapshot</url> </repository> </repositories> |
總結
以上所述是小編給大家介紹的Spring4新特性概述,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://blog.sina.com.cn/s/blog_9c6852670102wvxf.html