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



相关推荐
数据库幼崽1 小时前
MySQL 排查全局锁
数据库·mysql
Java水解1 小时前
深度解析MySQL中的Join算法:原理、实现与优化
后端·mysql
HoroMin2 小时前
在Spring Boot中自定义JSON返回日期格式的指南
java·开发语言·spring boot·注解
秋意零3 小时前
【排坑指南】MySQL初始化后,Nacos与微服务无法连接??
运维·数据库·mysql·微服务·nacos·报错
fouryears_234174 小时前
深入理解 MySQL 事务:保障数据操作的原子性与一致性
数据库·mysql
凌冰_4 小时前
Springboot MyBatis 数据库连接池
数据库·spring boot·mybatis
AA-代码批发V哥5 小时前
MySQL常用函数详解之流程函数
mysql
Q_Q19632884756 小时前
python大学校园旧物捐赠系统
开发语言·spring boot·python·django·flask·node.js·php
老李不敲代码6 小时前
榕壹云外卖跑腿系统:基于Spring Boot的开源生活服务平台技术解析
spring boot·微信小程序·uni-app·开源·生活·软件需求