【spring】Spring Boot3.3.0发布啦

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

notranslate 复制代码
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

notranslate 复制代码
java -Djarmode=tools -jar your-application.jar help <command>

获取更多详细信息。
layers.enabled = false如果您在 Gradle 构建文件或<layers><enabled>false</enabled></layers>Maven 中使用过pom.xml,请注意禁用层不再会阻止包含 jarmode JAR。includeToolsBootJarBootWar任务 或<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-enabledspring.pulsar.template.observations-enabled默认值从 更改为truefalse这样做是为了统一属性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 中的默认发送器,取代WebClientRestTemplate发送器实现。

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 证书等资源非常有用,如下例所示:

notranslate 复制代码
spring:
  ssl:
    bundle:
      pem:
        mybundle:
          keystore:
            certificate: "base64:LS0tLS1CRUdJTi..."
            private-key: "base64:QmFnIEF0dHJpYn..."



相关推荐
用户8307196840824 小时前
Spring Boot 集成 RabbitMQ :8 个最佳实践,杜绝消息丢失与队列阻塞
spring boot·后端·rabbitmq
Java水解5 小时前
Spring Boot 视图层与模板引擎
spring boot·后端
Java水解5 小时前
一文搞懂 Spring Boot 默认数据库连接池 HikariCP
spring boot·后端
随风飘的云9 小时前
mysql的innodb引擎对可重复读做了那些优化,可以避免幻读
mysql
洋洋技术笔记9 小时前
Spring Boot Web MVC配置详解
spring boot·后端
初次攀爬者1 天前
Kafka 基础介绍
spring boot·kafka·消息队列
用户8307196840821 天前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Java水解1 天前
SpringBoot3全栈开发实战:从入门到精通的完整指南
spring boot·后端
初次攀爬者2 天前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq