Spring 6 是一個(gè)重要的版本,距離 Spring 5 發(fā)布有四年多了。通過本文的介紹,我們一起來快速了解 Spring 6發(fā)行版中的那些令人興奮的特性。
JDK 17+ 和 Jakarta EE 9+ 基線
現(xiàn)在基于Java 17 源代碼級(jí)別的整個(gè)框架代碼庫。
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 開始預(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)情況下,無需 java.beans.Introspector 來確定基本 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ù)
支持預(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接口客戶端。
支持 RFC 7807 問題詳細(xì)信息.
統(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)。
刪除過時(shí)的 Tiles 和 FreeMarker JSP 支持。
Spring WebFlux
新的 PartEvent API 用于流式傳輸多部分表單上傳(兩者都在客戶端和服務(wù)器)。
新的 ResponseEntityExceptionHandler 用于自定義 WebFlux 異常并呈現(xiàn) RFC 7807 錯(cuò)誤響應(yīng)。
非流媒體類型的 Flux 返回值(寫入前不再收集到 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文章
69瀏覽量
19332 -
Web服務(wù)器
+關(guān)注
關(guān)注
0文章
138瀏覽量
24732 -
AOP
+關(guān)注
關(guān)注
0文章
40瀏覽量
11199 -
JDK
+關(guān)注
關(guān)注
0文章
82瀏覽量
16806
原文標(biāo)題:Spring Framework 6 中的新功能和增強(qiáng)功能
文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
java spring教程
什么是java spring
「Spring認(rèn)證」Spring Hello World 項(xiàng)目示例
ios6什么時(shí)候可以更新_ios6新功能
為什么要學(xué)習(xí)Spring?Spring核心基礎(chǔ)教程詳解?

「Spring認(rèn)證」Spring 框架概述

Spring Framework 6.0發(fā)布了首個(gè)RC版本
Spring Cloud Tencent發(fā)布最新匹配版本!
Spring Cloud 2022.0.0正式發(fā)布
Spring中11個(gè)最常用的擴(kuò)展點(diǎn)分享1
Spring中11個(gè)最常用的擴(kuò)展點(diǎn)分享2
解讀Spring源碼中的IOC和AOP部分
wakeup events framework三大功能介紹
Spring Cloud Gateway網(wǎng)關(guān)框架

評(píng)論