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


相关文章
|
4天前
|
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的端口配置不会生效。
92 17
Spring Boot 两种部署到服务器的方式
|
4天前
|
前端开发 JavaScript Java
springboot图书馆管理系统前后端分离版本
springboot图书馆管理系统前后端分离版本
31 12
|
2月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
66 2
|
3月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
120 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
3月前
|
druid Java Maven
|
3月前
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
2140 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
3月前
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
191 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
|
3月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
104 2
|
4月前
|
前端开发 Java Spring
【非降版本解决】高版本Spring boot Swagger 报错解决方案
【非降版本解决】高版本Spring boot Swagger 报错解决方案
204 2
|
3月前
|
Java Maven Spring
查看springboot版本支持最高的java版本
截至最近更新,Spring Boot 3.0及以上版本支持的最高Java版本为Java 17。鉴于技术的不断演进,建议直接参考Spring Boot的官方文档获取最准确的支持信息,因为这些版本兼容性可能会随着新版本的发布而有所变化。选择与你的Spring Boot版本相匹配的Java版本,可以确保充分利用框架特性,同时保证项目的稳定性和前瞻性。
138 0

热门文章

最新文章