在SpringBoot3中spring.factories配置不起作用的原因和解决方法
作者:pineux
本文给大家介绍了在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不起作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!