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