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

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

image.pngSpring 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:

image.png

@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,对于这个配置,如果不注意,就可能会有问题。


相关文章
|
3月前
|
XML Java Nacos
Spring Boot 整合Nacos 版本兼容适配 史上最详细文档
本文介绍SpringBoot整合Nacos的完整流程,涵盖Nacos下载安装、配置中心与服务发现集成、版本兼容性问题及实战配置。重点解决SpringBoot 3.3.0与Nacos版本适配难题,推荐使用Spring Cloud Alibaba方案,并提供项目开源地址供参考学习。
|
4月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
904 0
|
11月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
2724 17
Spring Boot 两种部署到服务器的方式
|
9月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
377 0
|
11月前
|
前端开发 JavaScript Java
springboot图书馆管理系统前后端分离版本
springboot图书馆管理系统前后端分离版本
182 12
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
11656 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
575 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
786 2
|
druid Java Maven