Spring Boot 2.7 开始官方不推荐使用spring.factories了

SpringBoot 2.7引入了新的配置机制,不再推荐使用/META-INF/spring.factories文件。开发者需要将配置类移至/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件下,避免在SpringBoot 3中遇到兼容性问题。这一改变影响了自定义starter的开发者,需要及时调整代码以遵循新的规范。

了解Spring Boot的用户都知道,当我们要引入某个功能的时候,只需要在pom.xml配置文件中直接引入对应的starter就可以了。

了解starter原理的用户都知道,Spring Boot利用spring-boot-autoconfigure.jar包下的META-INF/spring.factories这个文件来指定要加载的默认配置。这样当Spring Boot的启动类在启动的时候,就会根据引入的各种starter中的/META-INF/spring.factories文件所指定的配置类去加载Bean。

然而,在Spring Boot 2.7中,有一个不推荐使用的内容就是关于这个/META-INF/spring.factories文件的,所以对于有自定义starter的开发者来说,有时间要抓紧把这一变化改起来了,因为在Spring Boot 3开始将移除对/META-INF/spring.factories的支持。如下图所示

Spring Boot 2.7 版本如下:

多了一个spring文件夹,多了一个org.springframework.boot.autoconfigure.AutoConfiguration.imports文件

​那么具体怎么改呢?以下列代码为例,它的/META-INF/spring.factories内容是这样的:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.liubin.demospringbootstarter.DemoAutoConfiguration

我们只需要创建一个新的文件:/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,内容的话只需要直接放配置类就可以了,比如这样:

com.liubin.demospringbootstarter.DemoAutoConfiguration

注意:这里多了一级spring目录。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值