
博通公司推出了 Spring Boot 3.5,该版本提供了改进的配置、容器和 SSL。这个版本带来了一些重大配置变更,并且只提供 13 个月的免费发布周期,但增加了 72 个月的付费发布周期。值得注意的相关 Spring 项目发布包括 Spring AI 1.0、Spring Security 6.5、Spring for GraphQL 1.4 和 Spring Integration 6.5。计划于 2025 年 11 月发布的 Spring Boot 4.0 将与 Spring Framework 7.0 一起开启新一代版本。
配置改进包括:Spring Boot 自动配置 bootstrapExecutorbean,如果存在 applicationTaskExecutor bean,则启用 bean 的后台初始化;将 spring.task.execution.mode 属性设置为 force 将自动配置 AsyncTaskExecutor,即使是对于 Executor bean 也是如此;@ServletRegistration 注解注册一个 Servlet,而 @FilterRegistration 注解注册一个 Filter;OAuth 2 Client 自动配置适用于更多情况,并且更加细粒度;Spring Framework 的 WebClient 接口现在具有全局配置属性,如超时和重定向设置;nativeTest 配置文件现在对多模块项目更加友好,spring.groovy.template.configuration 属性已被弃用,转而使用新的和现有的 spring.groovy.template 属性。
带有 lldap/lldap 镜像的容器现在可以与 Docker Compose 和 Testcontainers 一起使用,后者利用 LLdapContainer 镜像。对于 Cloud Native Buildpacks,paketobuildpacks/builder-noble-java-tiny 现在是 Ubuntu Noble 的默认设置。它没有 shell 或其他实用程序——paketobuildpacks/ubuntu-noble-run-base 有 shell。Maven 和 Gradle 插件现在使用 Docker config.json 认证设置,并提供了 macOS 钥匙串等凭据助手。
一些服务连接现在支持客户端 SSL,包括 Testcontainers 和 Docker Compose 集成:Cassandra、Couchbase、Elasticsearch、Kafka、MongoDB、RabbitMQ 和 Redis。Spring Boot Actuator 现在发布 SSL 捆绑指标:ssl.chains 显示链的数量及其状态,而 ssl.chain.expiry 包含证书到期前的时间。
向 Actuator 端点/actuator/quartz/jobs/{groupName}/{jobName}发送 HTTP POST 会触发一个 Quartz 作业,并且映射端点现在包括关于 WebMvc.fn 路由器函数的信息。
从 Spring Boot 3.4 开始的重大变更包括:不再发布 spring-boot-parent 模块;配置文件名称现在只能包含破折号、下划线、字母和数字,不能以破折号或下划线开头或结尾;.enabled 属性的值现在必须是 true 或 false;TestRestTemplate 类现在使用与常规 RestTemplate 相同的重定向设置;ECS 结构日志的 JSON 输出使用嵌套格式;heapdump Actuator 端点现在默认为 access=NONE;不再自动配置 taskExecutor bean——应用程序必须使用 applicationTaskExecutor bean 或定义别名;使用 spring.data.redis.url 现在也定义了 Redis 数据库,spring.data.redis.database 随后被忽略;Prometheus Pushgateway 的配置选项已经发生了显著变化。
其他几个 Spring 项目最近也提供了 GA 发布:Spring AI 1.0、Spring Security 6.5.0、Spring Authorization Server 1.5.0、Spring Session 3.5.0、Spring for GraphQL 1.4.0、Spring Data 2025.0.0 和 Spring Integration 6.5.0。InfoQ 将跟进这些 GA 发布,提供更详细的新闻报道。
值得注意的第三方依赖升级包括:GraphQL Java 23.1、Kafka 3.9、Artemis 2.40、Rabbit AMQP Client 5.25、Elasticsearch Client 8.17、Flyway 11.7、Liquibase 4.31、Oracle Database 23.7.0.25.01、MySQL 9.2、MSSQL JDBC 12.10、MongoDB 5.4、Quartz 2.5、OpenTelemetry 1.49、Micrometer 1.15.0、Micrometer Tracing 1.5.0、JUnit Jupiter 5.12、Mockito 5.17、Selenium 4.31、HtmlUnit 4.11 和 Testcontainers 1.21。
发布说明提供了所有变更的完整列表。
Spring 团队最近宣布了对支持时间线的更改:之前的 LTS 发布版本 Spring Boot 2.7 获得了 18 个月的免费维护发布周期,而 Spring Boot 3.5 只获得 13 个月。相比之下,版本 2.7 增加了 37 个月的付费发布周期,总共 55 个月,而版本 3.5 现在增加了 72 个月,总共 85 个月。
Spring 团队还改变了即将发布的 Spring Boot 4.0 的支持期限,并将更多项目与 Spring Boot 的支持时间线对齐。Spring 团队调整了 2.7 至 3.2 版本在 Spring Boot网站上的已使用支持期限,以匹配新的时间线——互联网档案馆有原来的终止时间。
Spring Boot 4.0 将于 2025 年 11 月 20 日发布,而 Spring Framework 7.0 将于 2025 年 11 月 13 日发布。这些新一代版本将保留 JDK 17 基线,但拥抱 JDK 25 LTS,后者将于 2025 年 9 月 16 日发布。Kotlin 基线将移至 Kotlin 2,Jakarta EE 基线将从 9 移至 11,带来 Tomcat 11、Hibernate ORM 7 和 Hibernate Validator 9。Spring 项目还将采用JSpecify 实现空安全,尽管这项工作在发布时可能尚未完成。
原文链接:Spring Boot 3.5 Delivers Improved Configuration, Containers, and SSL, Shortens Free Support
评论