1. Spring Boot 3.4 升级指南与核心特性解析
Spring Boot 3.4 作为2024年重要的功能版本更新,带来了诸多值得开发者关注的改进。本文将深入剖析从3.3版本升级的关键注意事项,并详细解读3.4版本的核心新特性。
1.1 从 Spring Boot 3.3 升级到 3.4
1.1.1 HTTP客户端配置变更
Spring Boot 3.4对HTTP客户端自动配置进行了显著改进。现在系统支持通过spring.http.client.factory属性显式指定客户端类型,可选值包括:
http-components(Apache HTTP Components)jetty(Jetty Client)reactor(Reactor Netty)jdk(JDK HttpClient)simple(JDK HttpURLConnection)
重要提示:当类路径中没有检测到任何HTTP客户端库时,默认将使用JDK HttpClient而非之前的SimpleClientHttpRequestFactory。这一变化可能影响现有应用的网络行为。
对于需要禁用HTTP重定向的场景,可通过设置spring.http.client.redirects=dont-follow实现。这在调用某些严格限制重定向次数的API时特别有用。
1.1.2 配置属性验证行为调整
Bean Validation的行为在3.4版本中更加符合规范要求。现在,嵌套属性的验证仅在字段标注了@Valid时才会级联进行。升级时需要检查所有使用Bean Validation的@ConfigurationProperties类,确保必要的嵌套验证仍然生效。
典型修复示例如下:
java复制@Validated
public class MyProperties {
@Valid // 必须显式添加此注解
private NestedProperties nested;
// getters/setters
}
1.1.3 测试容器动态属性注入
Testcontainers的动态属性注入方式有了重大变更。原
