淺析Spring4新特性概述
Spring 4.1目前已經(jīng)發(fā)布RC1版本,而GA版本預計在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、在任務調(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、微服務;
3、周邊的各種生態(tài)集成;
4、目前最需要解決的就是簡化使用;功能太多造成學習成本也高了,會嚇跑一些人。用好了Spring生態(tài)系統(tǒ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>
總結
以上所述是小編給大家介紹的Spring4新特性概述,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
解析SpringBoot?搭建基于?MinIO?的高性能存儲服務的問題
Minio是Apache?License?v2.0下發(fā)布的對象存儲服務器,使用MinIO構建用于機器學習,分析和應用程序數(shù)據(jù)工作負載的高性能基礎架構。這篇文章主要介紹了SpringBoot?搭建基于?MinIO?的高性能存儲服務,需要的朋友可以參考下2022-03-03
Spring使用@Retryable實現(xiàn)自動重試機制
在微服務架構中,服務之間的調(diào)用可能會因為一些暫時性的錯誤而失敗,例如網(wǎng)絡波動、數(shù)據(jù)庫連接超時或第三方服務不可用等,在本文中,我們將介紹如何在 Spring 中使用 @Retryable 實現(xiàn)自動重試機制,需要的朋友可以參考下2025-01-01
SpringBoot AOP AspectJ切面技術介紹與實現(xiàn)方式
這篇文章主要介紹了Springboot如何使用Aspectj實現(xiàn)AOP面向切面編程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10

