淺析Spring4新特性概述
Spring 4.1目前已經(jīng)發(fā)布RC1版本,而GA版本預(yù)計在14年9月中旬發(fā)布;其中有部分內(nèi)容直接借鑒自Spring Boot,而Spring Boot從目前趨勢來看已經(jīng)是Spring的頂級項目;另外也提供了頁面自動化測試框架Spring MVC Test HtmlUnit,和Spring MVC Test一樣先是獨立項目,如果發(fā)展態(tài)勢很好,會最終合并到Spring Framework中。
從目前來看Spring 4.1并沒有特別吸引眼球的地方,主要還是增強和一些依賴的版本升級。主要改進如下:
1、核心部分基本上無變化,提供了DirectFieldAccessor用于直接字段訪問、yaml配置、SpEL的字節(jié)碼編譯化、BackOff退避算法的基本實現(xiàn)、Base64Utils、SmartInitializingSingleton等;
2、在任務(wù)調(diào)度和事件機制上加入了異常處理部分;
3、cache部分加入jcache的集成、類級別的@CacheConfig的支持、CacheResolver;
4、mvc部分提供了一些視圖解析器的mvc標簽實現(xiàn)簡化配置、提供了GroovyWebApplicationContext用于Groovy web集成、提供了Gson、protobuf的HttpMessageConverter、靜態(tài)資源處理方面添加了resolver和transformer、提供了對groovy-templates模板的支持、JSONP的支持、對Jackson的@JsonView的支持等;
5、提供了頁面自動化測試框架Spring MVC Test HtmlUnit;
6、test部分提供了更便利的@sql標簽來執(zhí)行測試腳本的初始化、MockRestServiceServer對AyncRestTemplate支持、MockMvcConfigurer來全局配置MockMvc;
7、提供了對Java 8 Optional的支持(ObjectToOptionalConverter實現(xiàn);可以在MVC中如@RequestParam等注解的綁定)、從Spring 4.1起Ehcache支持需要EhCache 2.5或更高版本、兼容Quartz 2.1.4、支持javax.annotation.Priority(等價于@Order)、JMS API的增強、SpringJUnit4ClassRunner需要 JUnit 4.9或更高版本支持。
從目前發(fā)展來看Spring把重點放在了Spring Boot上,另一方面Spring體系太龐大,要尋找和添加依賴,及選擇版本特別麻煩,而且容易產(chǎn)生版本沖突等,因此又誕生了Spring IO Platform,如果用過maven的話,相當于給你很多默認依賴,然后需要的時候直接添加即可,無需指定版本。
從如上可以看出,吸引人的新特性很少,另外目前還不穩(wěn)定,API異變,功能有BUG,如果沒有把控能力,不建議把新特性用于新項目,后續(xù)部分我會按照如下幾部分講解Spring4.1新特性:
Spring核心部分及其他
Spring緩存框架增強
異步調(diào)用和事件機制的異常處理
數(shù)據(jù)庫集成測試腳本初始化
Spring MVC增強
頁面自動化測試框架Spring MVC Test HtmlUnit簡介
靜態(tài)資源處理增強
目前給我的印象是Spring Framework已經(jīng)非常龐大,基本使用還是比較簡單,而且如果深入下去基本上我們需要的功能都可以進行擴展,這也是最佩服它的一點,目前給我最不好的就是Java Config和XML Config都支持,會給人一種混亂的感覺;其實最好把這種配置也單獨提取到一個項目中。因為我在測試Spring 4.1時遇到過在Java Config下好用,而XML Config下實現(xiàn)錯誤。從目前發(fā)展態(tài)勢來看,
1、推廣它們的Groovy;
2、微服務(wù);
3、周邊的各種生態(tài)集成;
4、目前最需要解決的就是簡化使用;功能太多造成學習成本也高了,會嚇跑一些人。用好了Spring生態(tài)系統(tǒng),工作起來真的是很得心應(yīng)手。
依賴:
使用4.1.0.BUILD-SNAPSHOT,請使用Spring官方maven倉庫下載依賴。
Java代碼
<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>
總結(jié)
以上所述是小編給大家介紹的Spring4新特性概述,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
詳解在Spring3中使用注解(@Scheduled)創(chuàng)建計劃任務(wù)
本篇文章主要介紹了詳解在Spring3中使用注解(@Scheduled)創(chuàng)建計劃任務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03Java注解的Retention和RetentionPolicy實例分析
這篇文章主要介紹了Java注解的Retention和RetentionPolicy,結(jié)合實例形式分析了Java注解Retention和RetentionPolicy的基本功能及使用方法,需要的朋友可以參考下2019-09-09如何設(shè)置IDEA遠程連接服務(wù)器開發(fā)環(huán)境并結(jié)合cpolar實現(xiàn)ssh遠程開發(fā)(最新推薦)
本文主要介紹如何在IDEA中設(shè)置遠程連接服務(wù)器開發(fā)環(huán)境,并結(jié)合Cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)無公網(wǎng)遠程連接,然后實現(xiàn)遠程Linux環(huán)境進行開發(fā),感興趣的朋友跟隨小編一起看看吧2024-03-03Java Web項目中Spring框架處理JSON格式數(shù)據(jù)的方法
Spring MVC是個靈活的框架,返回JSON數(shù)據(jù)的也有很多五花八門的方式,這里我們來整理一個最簡單的Java Web項目中Spring框架處理JSON格式數(shù)據(jù)的方法:2016-05-05Java擴展庫RxJava的基本結(jié)構(gòu)與適用場景小結(jié)
RxJava(GitHub: https://github.com/ReactiveX/RxJava)能夠幫助Java進行異步與事務(wù)驅(qū)動的程序編寫,這里我們來作一個Java擴展庫RxJava的基本結(jié)構(gòu)與適用場景小結(jié),剛接觸RxJava的同學不妨看一下^^2016-06-06