Spring Boot 4.1.0-RC1 发布:核心新特性解析

Spring Boot 4.1.0-RC1 发布:核心新特性解析

2025年5月,Spring Boot 正式发布了 4.1.0-RC1 版本,这是 4.x 系列的第一个候选版本。作为 Spring Boot 4.x 的里程碑版本,4.1 带来了大量值得关注的新特性和改进。本文基于官方 Release Notes,为大家梳理这次更新的核心内容。

版本说明 :本文基于 Spring Boot 4.1.0-RC1,最终 GA 版本可能略有差异。


一、依赖版本全面升级

4.1.0-RC1 依赖的第三方库版本都有显著提升,部分关键升级:

组件 升级版本 说明
Spring Framework 7.0.7 7.x 时代的核心框架
Spring Security 7.1.0-RC1 安全模块同步更新
Tomcat 11.0.21 升级到 Tomcat 11
Jetty 12.1.8 Jetty 12 系
Hibernate 7.2.12.Final JPA 持久层
Micrometer 1.17.0-RC1 指标监控
Reactor Bom 2025.0.5 响应式基础设施
Log4j2 2.25.4 日志框架

二、新增功能(New Features)

2.1 KafkaTemplate 配置增强

新增两个配置选项,用于精细控制 KafkaTemplate 的事务行为:

properties 复制代码
spring.kafka.template.allow-non-transactional=true
spring.kafka.template.close-timeout=5s
  • allowNonTransactional:允许在非事务模式下发送消息
  • closeTimeout:关闭时的超时时间

2.2 Redis 注解驱动监听器

新增 注解驱动的 Redis 监听器 支持,可以通过 @RedisListener 等注解简化 Redis 消息订阅的代码:

java 复制代码
@RedisListener(channels = "my-channel")
public void handleMessage(String message) {
    // 处理消息
}

2.3 WebFlux 全局 HTML 转义配置

响应式 WebFlux 现在支持 spring.webflux.default-html-escape 配置,实现应用级别的 HTML 转义:

properties 复制代码
spring.webflux.default-html-escape=true

2.4 InetAddress 过滤 for HTTP Clients

新增对 HTTP Client 的 InetAddress 过滤支持,增强网络请求的安全性:

properties 复制代码
spring.httpclient.pooled-metrics.filter-inet-address=true

2.5 SSL 证书监控增强

SslMeterBinder 现在支持从 truststore 中监控证书,提供更完善的 SSL 证书生命周期管理。

2.6 Windows 11+ ANSI 支持默认开启

从 Windows 11 开始,ANSI 颜色输出现在默认启用,命令行日志输出更加美观。

2.7 gRPC 异常处理 @GrpcAdvice

新增 @GrpcAdvice 注解支持,用于统一处理 gRPC 服务端的异常:

java 复制代码
@GrpcAdvice
public class GrpcExceptionHandler {
    @GrpcExceptionHandler
    public Status handleRuntimeException(RuntimeException e) {
        return Status.INTERNAL.withDescription(e.getMessage());
    }
}

2.8 OpenTelemetry SDK 环境变量支持

新增对 OpenTelemetry SDK 环境变量的完整支持,配合 management.otel.* 配置,可以更灵活地对接可观测性生态。

2.9 LazyConnectionDataSourceProxy 支持

数据源连接代理支持懒加载模式,减少启动时的连接开销:

properties 复制代码
spring.datasource.lazy=true

2.10 自定义 layers.xml 支持

新增从 classpath 读取自定义 layers.xml 的能力,方便对 Spring Boot fat jar 的分层进行深度定制。


三、Bug 修复(Bug Fixes)

4.1.0-RC1 共修复了 35 个 Bug,列举几个值得关注的:

Issue 说明
#50190 Actuator 安全配置在同时存在 health 和actuator-autoconfigure 时错误
#50184 RandomValuePropertySource 不适合用于 secrets
#50182 Cassandra 自动配置修复 CQL Session 构建问题
#50175 RabbitMQ SSL 主机名验证配置不一致
#49957 spring.jackson.use-jackson2-defaults=true 时意外启用 FAIL_ON_UNKNOWN_PROPERTIES
#49870 Docker Compose 无法使用 apache/artemis 镜像

四、值得关注的技术方向

4.1 Spring 4.x 全面拥抱响应式

从 Spring Framework 7.0 + Spring Security 7.1 的协同升级可以看出,Spring 生态正在全面向响应式编程和现代云原生基础设施演进。

4.2 可观测性持续加强

Micrometer 1.17 + Micrometer Tracing 1.7 + OpenTelemetry 1.60 的组合,使得 Spring Boot 4.1 在可观测性方面更加完善。

4.3 gRPC 支持走向成熟

@GrpcAdvice 注解的引入可以看出,Spring gRPC 的支持正在从实验性走向生产可用。


五、升级建议

注意:Spring Boot 4.x 需要 Java 21+,如果项目还在使用 Java 17 或更低版本,请先完成 JDK 升级。

  1. 评估周期:RC1 版本适合在测试环境先行验证,生产环境建议等 GA 版本
  2. 依赖检查 :重点关注 spring-boot-starter 直接和传递依赖的兼容性
  3. Breaking Changesspring.jackson.use-jackson2-defaults 的行为有变化,需检查相关配置

六、参考链接


本文原创,首发于 CSDN博客。

相关推荐
Cat_Rocky1 小时前
Ingress-Nginx 全局超时配置及生效方式
java·服务器·nginx
农业工作者1 小时前
IDEA解决springboot工程中Cannot resolve symbol ‘SpringApplication异常 maven解决
java·开发语言·maven
楼田莉子3 小时前
仿Muduo的高并发服务器:Http协议模块
linux·服务器·c++·后端·学习
你不是我我10 小时前
【Java 开发日记】HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·开发语言·微服务
雪碧聊技术10 小时前
大模型爆火!Java后端如何抓住Agent全栈开发的风口
java·大模型·agent·全栈开发
Filwaod10 小时前
互联网大厂Java面试实战:Spring Boot微服务架构与AI技术栈深度解析
spring boot·微服务·大厂面试·java面试·技术干货·ai技术栈·程序员求职
逻辑驱动的ken11 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
AI人工智能+电脑小能手12 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
ltl12 小时前
Softmax 与概率分布:从分数到选择的桥
后端