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..."