淺析Spring4新特性概述
Spring 4.1目前已經(jīng)發(fā)布RC1版本,而GA版本預(yù)計(jì)在14年9月中旬發(fā)布;其中有部分內(nèi)容直接借鑒自Spring Boot,而Spring Boot從目前趨勢(shì)來看已經(jīng)是Spring的頂級(jí)項(xiàng)目;另外也提供了頁面自動(dòng)化測(cè)試框架Spring MVC Test HtmlUnit,和Spring MVC Test一樣先是獨(dú)立項(xiàng)目,如果發(fā)展態(tài)勢(shì)很好,會(huì)最終合并到Spring Framework中。
從目前來看Spring 4.1并沒有特別吸引眼球的地方,主要還是增強(qiáng)和一些依賴的版本升級(jí)。主要改進(jìn)如下:
1、核心部分基本上無變化,提供了DirectFieldAccessor用于直接字段訪問、yaml配置、SpEL的字節(jié)碼編譯化、BackOff退避算法的基本實(shí)現(xiàn)、Base64Utils、SmartInitializingSingleton等;
2、在任務(wù)調(diào)度和事件機(jī)制上加入了異常處理部分;
3、cache部分加入jcache的集成、類級(jí)別的@CacheConfig的支持、CacheResolver;
4、mvc部分提供了一些視圖解析器的mvc標(biāo)簽實(shí)現(xiàn)簡(jiǎn)化配置、提供了GroovyWebApplicationContext用于Groovy web集成、提供了Gson、protobuf的HttpMessageConverter、靜態(tài)資源處理方面添加了resolver和transformer、提供了對(duì)groovy-templates模板的支持、JSONP的支持、對(duì)Jackson的@JsonView的支持等;
5、提供了頁面自動(dòng)化測(cè)試框架Spring MVC Test HtmlUnit;
6、test部分提供了更便利的@sql標(biāo)簽來執(zhí)行測(cè)試腳本的初始化、MockRestServiceServer對(duì)AyncRestTemplate支持、MockMvcConfigurer來全局配置MockMvc;
7、提供了對(duì)Java 8 Optional的支持(ObjectToOptionalConverter實(shí)現(xiàn);可以在MVC中如@RequestParam等注解的綁定)、從Spring 4.1起Ehcache支持需要EhCache 2.5或更高版本、兼容Quartz 2.1.4、支持javax.annotation.Priority(等價(jià)于@Order)、JMS API的增強(qiáng)、SpringJUnit4ClassRunner需要 JUnit 4.9或更高版本支持。
從目前發(fā)展來看Spring把重點(diǎn)放在了Spring Boot上,另一方面Spring體系太龐大,要尋找和添加依賴,及選擇版本特別麻煩,而且容易產(chǎn)生版本沖突等,因此又誕生了Spring IO Platform,如果用過maven的話,相當(dāng)于給你很多默認(rèn)依賴,然后需要的時(shí)候直接添加即可,無需指定版本。
從如上可以看出,吸引人的新特性很少,另外目前還不穩(wěn)定,API異變,功能有BUG,如果沒有把控能力,不建議把新特性用于新項(xiàng)目,后續(xù)部分我會(huì)按照如下幾部分講解Spring4.1新特性:
Spring核心部分及其他
Spring緩存框架增強(qiáng)
異步調(diào)用和事件機(jī)制的異常處理
數(shù)據(jù)庫集成測(cè)試腳本初始化
Spring MVC增強(qiáng)
頁面自動(dòng)化測(cè)試框架Spring MVC Test HtmlUnit簡(jiǎn)介
靜態(tài)資源處理增強(qiáng)
目前給我的印象是Spring Framework已經(jīng)非常龐大,基本使用還是比較簡(jiǎn)單,而且如果深入下去基本上我們需要的功能都可以進(jìn)行擴(kuò)展,這也是最佩服它的一點(diǎn),目前給我最不好的就是Java Config和XML Config都支持,會(huì)給人一種混亂的感覺;其實(shí)最好把這種配置也單獨(dú)提取到一個(gè)項(xiàng)目中。因?yàn)槲以跍y(cè)試Spring 4.1時(shí)遇到過在Java Config下好用,而XML Config下實(shí)現(xiàn)錯(cuò)誤。從目前發(fā)展態(tài)勢(shì)來看,
1、推廣它們的Groovy;
2、微服務(wù);
3、周邊的各種生態(tài)集成;
4、目前最需要解決的就是簡(jiǎn)化使用;功能太多造成學(xué)習(xí)成本也高了,會(huì)嚇跑一些人。用好了Spring生態(tài)系統(tǒng),工作起來真的是很得心應(yīng)手。
依賴:
使用4.1.0.BUILD-SNAPSHOT,請(qǐng)使用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新特性概述,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Spring3?中?RabbitMQ?的使用與常見場(chǎng)景分析
本文介紹了Spring3中RabbitMQ的使用,涵蓋了RabbitMQ的基本知識(shí)、五種模式、數(shù)據(jù)隔離、消費(fèi)者確認(rèn)、死信交換機(jī)、延遲功能、消息堆積解決方法、高可用性以及消息重復(fù)消費(fèi)問題的解決方案,感興趣的朋友跟隨小編一起看看吧2025-02-02
初次使用IDEA創(chuàng)建maven項(xiàng)目的教程
這篇文章主要介紹了初次使用IDEA創(chuàng)建maven項(xiàng)目的教程講解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01
解析SpringBoot?搭建基于?MinIO?的高性能存儲(chǔ)服務(wù)的問題
Minio是Apache?License?v2.0下發(fā)布的對(duì)象存儲(chǔ)服務(wù)器,使用MinIO構(gòu)建用于機(jī)器學(xué)習(xí),分析和應(yīng)用程序數(shù)據(jù)工作負(fù)載的高性能基礎(chǔ)架構(gòu)。這篇文章主要介紹了SpringBoot?搭建基于?MinIO?的高性能存儲(chǔ)服務(wù),需要的朋友可以參考下2022-03-03
Spring使用@Retryable實(shí)現(xiàn)自動(dòng)重試機(jī)制
在微服務(wù)架構(gòu)中,服務(wù)之間的調(diào)用可能會(huì)因?yàn)橐恍簳r(shí)性的錯(cuò)誤而失敗,例如網(wǎng)絡(luò)波動(dòng)、數(shù)據(jù)庫連接超時(shí)或第三方服務(wù)不可用等,在本文中,我們將介紹如何在 Spring 中使用 @Retryable 實(shí)現(xiàn)自動(dòng)重試機(jī)制,需要的朋友可以參考下2025-01-01
SpringBoot AOP AspectJ切面技術(shù)介紹與實(shí)現(xiàn)方式
這篇文章主要介紹了Springboot如何使用Aspectj實(shí)現(xiàn)AOP面向切面編程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10

