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



相关推荐
一叶飘零_sweeeet17 分钟前
深入 Spring 内核:解密 15 种设计模式的实战应用与底层实现
java·spring·设计模式
洛克大航海23 分钟前
3-SpringCloud-LoadBalancer-OpenFeign服务调用与负载均衡
spring·spring cloud·负载均衡·openfeign·loadbalancer
低音钢琴41 分钟前
【SpringBoot从初学者到专家的成长18】SpringBoot中的数据持久化:JPA与Hibernate的结合
spring boot·后端·hibernate
paopaokaka_luck1 小时前
基于SpringBoot+Vue的社区诊所管理系统(AI问答、webSocket实时聊天、Echarts图形化分析)
vue.js·人工智能·spring boot·后端·websocket
FreeBuf_1 小时前
Spring两大漏洞可导致泄露敏感信息及安全防护绕过(CVE-2025-41253/41254)
java·安全·spring
RainbowSea1 小时前
11. Spring AI + ELT
java·spring·ai编程
李慕婉学姐1 小时前
Springboot黄河文化科普网站5q37v(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
RainbowSea1 小时前
12. 模型RAG评测
java·spring·ai编程
Cabbage_acmer2 小时前
MySQL期中考试突击!
数据库·mysql
在下木子生2 小时前
SpringBoot基于工厂模式的多类型缓存设计
java·spring boot·缓存