Spring 6 是一個(gè)重要的版本,距離 Spring 5 發(fā)布有四年多了。通過(guò)本文的介紹,我們一起來(lái)快速了解 Spring 6發(fā)行版中的那些令人興奮的特性。
JDK 17+ 和 Jakarta EE 9+ 基線
現(xiàn)在基于Java 17 源代碼級(jí)別的整個(gè)框架代碼庫(kù)。
Servlet、JPA 等從 javax 遷移到 Jakarta 命名空間。
運(yùn)行時(shí)與 Jakarta EE 9 以及 Jakarta EE 10 API 的兼容性。
與最新的Web服務(wù)器兼容:Tomcat 10.1、Jetty 11、Undertow 2。
早期兼容虛擬線程(從 JDK 19 開(kāi)始預(yù)覽)。
基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
一般核心修訂
升級(jí)到 ASM 9.4 和 Kotlin 1.7。
完整的 CGLIB fork,支持捕獲 CGLIB 生成的類。
全面的向 AOT(Ahead-Of-Time Processing,提前處理)轉(zhuǎn)型。
對(duì) GraalVM 原生映像的一流支持。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
核心容器
默認(rèn)情況下,無(wú)需 java.beans.Introspector 來(lái)確定基本 bean 屬性。
在 GenericApplicationContext (refreshForAotProcessing) 中的支持 AOT 處理。
基于預(yù)解析構(gòu)造函數(shù)和工廠方法的 Bean 定義轉(zhuǎn)換。
支持 AOP 代理和配置類的早期代理類確定。
PathMatchingResourcePatternResolver 使用 NIO 和模塊路徑 API 進(jìn)行掃描,分別支持 GraalVM 本機(jī)映像和 Java 模塊路徑中的類路徑掃描。
DefaultFormattingConversionService 支持基于 ISO 的默認(rèn) java.time 類型解析。
數(shù)據(jù)訪問(wèn)和事務(wù)
支持預(yù)定 JPA 托管類型(用于包含在 AOT 處理中)。
JPA 支持 Hibernate ORM 6.1(保持與 Hibernate ORM 5.6 的兼容性)。
升級(jí)到 R2DBC 1.0(包括 R2DBC 事務(wù)定義)。
刪除 JCA CCI 支持。
Spring 消息傳遞
基于 @RSocketExchange 服務(wù)接口的 RSocket 接口客戶端。
基于 Netty 5 Alpha 的 Reactor Netty 2 的早期支持。
支持 Jakarta WebSocket 2.1 及其標(biāo)準(zhǔn) WebSocket 協(xié)議升級(jí)機(jī)制。
通用 Web 修訂
基于 @HttpExchange 服務(wù)接口的HTTP接口客戶端。
統(tǒng)一 HTTP 狀態(tài)碼處理。
支持 Jackson 2.14。
與 Servlet 6.0 對(duì)齊(同時(shí)保留與 Servlet 5.0 的運(yùn)行時(shí)兼容性)。
Spring MVC
默認(rèn)情況下使用的 PathPatternParser(能夠選擇進(jìn)入 PathMatcher)。
刪除過(guò)時(shí)的 Tiles 和 FreeMarker JSP 支持。
Spring WebFlux
新的 PartEvent API 用于流式傳輸多部分表單上傳(兩者都在客戶端和服務(wù)器)。
新的 ResponseEntityExceptionHandler 用于自定義 WebFlux 異常并呈現(xiàn) RFC 7807 錯(cuò)誤響應(yīng)。
非流媒體類型的 Flux 返回值(寫(xiě)入前不再收集到 List)。
基于 Netty 5 Alpha 的 Reactor Netty 2 的早期支持。
JDK HttpClient 與 WebClient 集成。
可觀察性
Micrometer Observation 直接可觀察性在 Spring 框架中的部分應(yīng)用。spring-web 模塊現(xiàn)在需要 io.micrometer1.10+ 作為編譯依賴項(xiàng)。
RestTemplate 和 WebClient 被檢測(cè)為生成 HTTP 客戶端請(qǐng)求觀察。
Spring MVC 可以使用新的 org.springframework.web.filter.ServerHttpObservationFilter 檢測(cè) HTTP 服務(wù)器觀察。
Spring WebFlux 可以使用新的 org.springframework.web.filter.reactive.ServerHttpObservationFilter 檢測(cè) HTTP 服務(wù)器觀察。
對(duì)于 Flux 和 Mono 的 Micrometer Context Propagation 集成,從控制器方法返回值。
測(cè)試
支持在 JVM 上或 GraalVM 本機(jī)映像中測(cè)試 AOT 處理的應(yīng)用程序上下文。
集成 HtmlUnit 2.64 + 請(qǐng)求參數(shù)處理。
Servlet 模擬(MockHttpServletRequest、MockHttpSession)現(xiàn)在基于 Servlet API 6.0。
審核編輯:劉清
-
ASM
+關(guān)注
關(guān)注
1文章
68瀏覽量
19038 -
Web服務(wù)器
+關(guān)注
關(guān)注
0文章
138瀏覽量
24399 -
AOP
+關(guān)注
關(guān)注
0文章
40瀏覽量
11098 -
JDK
+關(guān)注
關(guān)注
0文章
81瀏覽量
16592
原文標(biāo)題:Spring Framework 6 中的新功能和增強(qiáng)功能
文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論