spring最新版本
springboot官網:Spring Boot :: Spring Boot
Spring Boot 3.3 發行說明:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.3-Release-Notes
開發環境的要求對比表
Spring Boot | JDK | Spring | Maven | Gradle |
---|---|---|---|---|
3.3.0 | 17 ~ 22 | 6.1.8+ | 3.6.3+ | 7.5+,8.x |
3.2.0 | 17 ~ 21 | 6.1.1+ | 3.6.3+ | 7.5+,8.x |
3.1.0 | 17 ~ 20 | 6.0.9+ | 3.6.3+ | 7.5+,8.x |
3.0.0 | 17 ~ 19 | 6.0.2+ | 3.5+ | 7.5+ |
2.7.12 | 8 ~ 20 | 5.3.27+ | 3.5+ | 6.8.x, 6.9.x, 7.x, 8.x |
Tip | 檢查配置變更日志 |
CDS 支持
CDS是 JVM 的一項功能,可幫助減少 Java 應用程序的啟動時間和內存占用。Spring Boot 現在支持輕松創建 CDS 友好布局。可以通過在 jarmode 的幫助下提取 uber JAR 來創建此布局tools
:
java -Djarmode=tools -jar your-application.jar extract
這將在文件夾中創建一個your-application/your-application.jar
和所需的庫your-application/lib
。然后可以使用 執行該應用程序java -jar your-application/your-application.jar
。
jarmodetools
目前支持兩個命令:
-
extract
,如上所示。這將取代-Djarmode=layertools extract
。 -
list-layers
,取代-Djarmode=layertools list-layers
。
java -Djarmode=tools -jar your-application.jar help <command>
獲取更多詳細信息。
layers.enabled = false
如果您在 Gradle 構建文件或<layers><enabled>false</enabled></layers>
Maven 中使用過pom.xml
,請注意禁用層不再會阻止包含 jarmode JAR。includeTools
在BootJar
或BootWar
任務 或<configuration><includeTools>false</includeTools></configuration>
上使用spring-boot-maven-plugin
。
可觀察性的改進
現在可以針對簡單、直接和流監聽器以及通過RabbitTemplate
屬性啟用觀察。
@SpanTag
已添加對微米注釋的支持。
增加了對 Brave 和 OpenTelemetry 標記字段的支持。Brave 已添加對本地字段的支持。
增加了一個進程InfoContributor
,可以通過 來啟用它management.info.process.enabled=true
。
如果未明確設置應用程序名稱,unknown_service
則現在用于 OpenTelemetry。這使 Spring Boot 默認值與 OpenTelemetry 規范保持一致。
適用于 Apache Pulsar 的 Spring
屬性spring.pulsar.listener.observation-enabled
和spring.pulsar.template.observations-enabled
默認值從 更改為true
。false
這樣做是為了統一屬性observation-enabled
,現在所有屬性都默認為false
。如果您依賴 Pulsar 觀測并且未明確啟用它們,請將屬性spring.pulsar.listener.observation-enabled=true
和添加spring.pulsar.template.observations-enabled=true
到您的配置中以恢復舊行為。
Brave 和 Zipkin
Brave 已更新至 6.0,Zipkin 已更新至 3.0。通過此次升級,Spring Boot 中的 Zipkin 支持獲得了新功能,例如指定向 Zipkin API 報告數據的編碼。
HttpClient
已實現基于JDK 的新Zipkin 發送器。此發送器僅依賴于 JDK,將成為 Spring Boot 3.5.0 中的默認發送器,取代WebClient
和RestTemplate
發送器實現。
Spring Security 改進
如果設置了以下某個屬性,則A?JwtAuthenticationConverter
(或 a )現在會自動配置:ReactiveJwtAuthenticationConverter
-
spring.security.oauth2.resourceserver.jwt.authority-prefix
-
spring.security.oauth2.resourceserver.jwt.principal-claim-name
-
spring.security.oauth2.resourceserver.jwt.authorities-claim-name
虛擬線程
如果AsyncTaskExecutor
上下文中可用,則它現在已在 websocket 上注冊ChannelRegistration
。如果使用虛擬線程,這通常是啟用了虛擬線程SimpleAsyncTaskExecutor
,使 Websockets 具有虛擬線程功能。
批量事務管理器
@BatchTransactionManager
引入了注釋,以便更輕松地配置 Spring Batch 以使用自定義事務管理器。有關更多信息,請參閱更新后的文檔。
Base64 資源
現在可以使用前綴將資源加載為 Base64 編碼的文本值base64:
。這對于 SSL 證書等資源非常有用,如下例所示:
spring:ssl:bundle:pem:mybundle:keystore:certificate: "base64:LS0tLS1CRUdJTi..."private-key: "base64:QmFnIEF0dHJpYn..."