你了解Spring從Spring3到Spring5的變遷嗎?

你了解Spring從Spring3到Spring5的變遷嗎?你了解Spring從Spring3到Spring5的變遷嗎?

十余年建站經(jīng)驗, 成都做網(wǎng)站、成都網(wǎng)站建設客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)公司提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

前言:

**隨著互聯(lián)網(wǎng)技術的發(fā)展,Spring也在不斷的進化,從最早輕量級的支持J2EE到現(xiàn)在對高并發(fā),多線程異步程序的支持,spring也不斷的更新自己走在技術的最前沿,我們先來從Spring3開始看看spring的發(fā)展變遷

Spring3你了解Spring從Spring3到Spring5的變遷嗎?

你了解Spring從Spring3到Spring5的變遷嗎?
Spring4
你了解Spring從Spring3到Spring5的變遷嗎?
你了解Spring從Spring3到Spring5的變遷嗎?
Spring5你了解Spring從Spring3到Spring5的變遷嗎?

你了解Spring從Spring3到Spring5的變遷嗎?
Spring Framework 4.x 和Spring Framework 3.2.x的架構變化

1.從圖中可以看出,總體的層次結構沒有太大變化,變化的是 Spring 4.0.3去掉了 struts 模塊(spring-struts包)。增加 WebSocket 模塊(spring-websocket包),增加了對 WebSocket、SockJS 以及 STOMP 的支持,它與 JSR-356 Java WebSocket API 兼容。另外,還提供了基于 SockJS(對 WebSocket 的模擬)的回調方案,以適應不支持 WebSocket 協(xié)議的瀏覽器。

2.同時增加了 messaging 模塊(spring-messaging),提供了對 STOMP 的支持,以及用于路由和處理來自 WebSocket 客戶端的 STOMP 消息的注解編程模型。spring-messaging 模塊中還 包含了 Spring Integration 項目中的核心抽象類,如 Message、MessageChannel、MessageHandler。

3.如果去看源代碼的話,還可以發(fā)現(xiàn)還有一個新增的包,加強了 beans 模塊,就是 spring-beans-groovy。應用可以部分或完全使用 Groovy 編寫。借助于 Spring 4.0,能夠使用 Groovy DSL 定義外部的 Bean 配置,這類似于 XML Bean 聲明,但是語法更為簡潔。使用Groovy還能夠在啟動代碼中直接嵌入Bean的聲明。

4.對JDK的支持:Java 8支持。當然也支持Java6和Java7,但最好在使用Spring框架3.X或4.X時,將JDK升級到Java7,因為有些版本至少需要Java7。使用Spring4.x時Java EE版本至少要6或以上,且需要JPA 2.0和Servlet 3.0 的支持,所以服務器,web容器需要做相應的升級。一個更具前瞻性的注意是,Spring4.0支持J2EE 7的適用級規(guī)范,比如JMS 2.0, JTA 1.2, JPA 2.1, Bean Validation 1.1和JSR-236并發(fā)工具包,在選擇這些jar包時需要注意版本。

5.核心容器提升:

支持Bean的泛型注入,比如:@Autowired Repository customerRepository

使用元注解開發(fā)暴露指定內部屬性的自定義注解。

通過 @Ordered注解或Ordered 接口對注入集合或數(shù)組的 Bean 進行排序。

@Lazy 注解可以用在注入點或 @Bean 定義上。

為開發(fā)者引入 @Description 注解。

引入 @Conditional 注解進行有條件的 Bean過濾。

基于 CGLIB 的代理類不需要提供默認構造器,因為 Spring 框架將 CGLIB 整合到內部了。

框架支持時區(qū)管理,比如 LocalContext

5.Web提升

增加新的 @RestController 注解,這樣就不需要在每個 @RequestMapping 方法中添加 @ResponseBody 注解。

添加 AsyncRestTemplate,在開發(fā) REST 客戶端時允許非阻塞異步支持。

為 Spring MVC 應用程序開發(fā)提供全面的時區(qū)支持。

Spring5

升級到 Java SE 8 和 Java EE 7

直到現(xiàn)在,Spring Framework 仍支持一些棄用的 Java 版本,但 Spring 5 已從舊包袱中解放出來。為了充分利用 Java 8 特性,它的代碼庫已進行了改進,而且該框架要求將 Java 8 作為最低的 JDK 版本。

在 API 級別上,Spring 5 兼容 Java EE 8 技術,滿足對 Servlet 4.0、Bean Validation 2.0 和全新的 JSON Binding API 的需求。對 Java EE API 的最低要求為 V7,該版本引入了針對 Servlet、JPA 和 Bean Validation API 的次要版本。

反應式編程模型

Spring 5 最令人興奮的新特性是它的反應式編程模型。Spring 5 Framework 基于一種反應式基礎而構建,而且是完全異步和非阻塞的。只需少量的線程,新的事件循環(huán)執(zhí)行模型就可以垂直擴展。

新的spring-webflux模塊,一個基于reactive的spring-webmvc,完全的異步非阻塞,旨在使用enent-loop執(zhí)行模型和傳統(tǒng)的線程池模型。

網(wǎng)站標題:你了解Spring從Spring3到Spring5的變遷嗎?
文章起源:http://muchs.cn/article32/ijsopc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、Google、全網(wǎng)營銷推廣、面包屑導航品牌網(wǎng)站建設、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)