在SpringBoot3中spring.factories配置不起作用的原因和解决方法
spring.factories失效问题解决
问题
在SpringBoot3中spring.factories配置的自动装配不生效
失效原因
从 Spring Boot 2.6 升级到Spring Boot 2.7后,自动配置注册有更改。 Spring Boot 2.7发行说明

废弃说明:
如果您创建了自己的自动配置,则应将注册从密钥spring.factories下移至org.springframework.boot.autoconfigure.AutoConfiguration.imports。每行包含自动配置类的完全限定名称,而不是单个逗号分隔的列表。有关示例,请参阅包含的自动配置。
为了向后兼容,spring.factories仍将保留中的条目。
- 在Spring Boot 2.7还是可以兼容使用spring.factories
- 到了SpringBoot3 spring.factories就不兼容使用了。
- tips: 在SpringBoot3中spring.factories使用org.springframework.boot.env.EnvironmentPostProcessor动态加载配置文件配置文件却还生效的。
解决办法
使用spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports代替spring.factories中的org.springframework.boot.autoconfigure.EnableAutoConfiguration

示例
- 原spring.factories文件
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.xxx.iot.common.config.SaTokenConfigure,\ com.xxx.iot.common.config.SecurityProperties
- 在resource/META-INF目录下新建spring目录,并添加org.springframework.boot.autoconfigure.AutoConfiguration.imports文件
com.xxx.iot.common.config.SaTokenConfigure com.xxx.iot.common.config.SecurityProperties
到此这篇关于在SpringBoot3中spring.factories配置不起作用的原因和解决方法的文章就介绍到这了,更多相关SpringBoot3 spring.factories不起作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
IntelliJ IDEA 2023.2最新版激活方法及验证ja-netfilter配置是否成功
随着2023.2版本的发布,用户们渴望了解如何激活这个最新版的IDE,本文将介绍三种可行的激活方案,包括许可证服务器、许可证代码和idea vmoptions配置,帮助读者成功激活并充分利用IDEA的功能,感兴趣的朋友参考下吧2023-08-08
String转BigDecimal,BigDecimal常用操作,以及避免踩坑记录
这篇文章主要介绍了String转BigDecimal,BigDecimal常用操作,以及避免踩坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07
SpringBoot获取Request和Response方法代码解析
这篇文章主要介绍了SpringBoot获取Request和Response方法代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-11-11


最新评论