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



相关推荐
jian110585 小时前
java spring -framework -mvc
java·spring·mvc
oneouto6 小时前
MySQL5.7导入MySQL8.0的文件不成功
mysql
源码云商7 小时前
基于Spring Boot + Vue的教师工作量管理系统设计与实现
vue.js·spring boot·后端
我是坑货8 小时前
Spring学习笔记 IoC容器和XML的IoC装配
笔记·学习·spring
影龙帝皖9 小时前
Mysql数据库相关命令及操作
数据库·mysql·oracle
西洼工作室10 小时前
高效选课系统:一键管理你的课程表
java·spring boot·spring cloud
田秋浩10 小时前
Springboot 跨域拦截器配置说明
java·spring boot·后端
神雕大侠mu11 小时前
Prometheus+Grafana实现对服务的监控
spring boot·spring cloud·grafana·prometheus
星辰离彬11 小时前
数据库优化技巧:MySQL 重复数据查询与删除(仅保留一条)的性能优化策略
数据库·mysql
heart000_111 小时前
从0到1打造AI Copilot:用SpringBoot + ChatGPT API实现智能开发助手
人工智能·spring boot·copilot