Spring Boot 2.2.1 发布,一个有点坑的版本!

Spring Boot 2.2.1 发布,一个有点坑的版本!Spring Boot 2.2.0 没发布多久,Spring Boot 2.2.1 又发布了,这是一个很有意思,又有点 "坑" 的一个版本。


除了日常的 bug 修复、优化提升、依赖升级,这个版本又颠覆了一个 Spring Boot 2.2.0 配置。


如果你已经升级到了 Spring Boot 2.2.0,@ConfigurationProperties 注解是可以不需要定义 Bean 直接使用的。


来看下使用区别,真是够折腾的几个版本。

Spring Boot 2.2.0 之前:

1. @Configuration
2. @ConfigurationProperties(prefix = "xxx")
3. public class XXXProperties

Spring Boot 2.2.0:

1. @ConfigurationProperties(prefix = "xxx")
2. public class XXXProperties

看见没,不需要定义 Bean,可以直接被自动扫描到。而在 Spring Boot 2.2.1 中又作了调整:

Spring Boot 2.2.1:

Spring Boot 2.2.1 发布,一个有点坑的版本!

@ConfigurationProperties 自动扫描支持被废弃,恢复到 2.2.0 之前的用法了,又加了一个新的配置方法:

@Configuration
@ConfigurationProperties(prefix = "xxx")
public class XXXProperties

或者是:

@ConfigurationProperties(prefix = "xxx")
public class XXXProperties
 
@SpringBootApplication
@ConfigurationPropertiesScan
@EnableConfigurationProperties
public class Application 

这个版本加了一个 @ConfigurationPropertiesScan 注解,用来主动扫描没有定义 Bean 的 @ConfigurationProperties,相当于一个总开关,我觉得倒挺好的。


如果从 Spring Boot 2.2.0 过度到 Spring Boot 2.2.1,对于这个配置,如果不注意,就可能会有问题。


上一篇:Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】


下一篇:Spring 配置最好不要配置 xsd 版本号!