spring-boot-starter在springboot3中的一处变化 springboot3中如何自定义自动装配内容

SpringBoot的自动装配简化了配置过程,但在SpringBoot3中,自定义starter的方式有所改变。不再使用/META-INF/spring.factories中的`org.springframework.boot.autoconfigure.EnableAutoConfiguration`,而是需要将相关内容移动到META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件,该文件包含每行一个全类名。开发者需要了解这一变化以避免配置错误。
摘要由CSDN通过智能技术生成

springboot相比springframework更加方便的一点就是可以自动装配,省去我们很多配置的麻烦。

我们自己也可以自定义starter,其中一个关键的文件是/META-INF/spring.factories

最近尝试使用springboot3做新项目开发,发现居然无法用原来的方法自定义starter了,尝试半天都失败,我都怀疑自己老糊涂,忘记具体步骤了,于是上网搜索,照步骤做也失败。有些帖子还会讲原理贴代码,心想也许新版有变化,自己也跟下代码吧。

AutoConfigurationImportSelector是自动装配中一个关键的类,从selectImports一直往下追,到

public static ImportCandidates load(Class<?> annotation, ClassLoader classLoader)

这个方法,发现一行代码

String location = String.format(LOCATION, annotation.getName());

其中

private static final String LOCATION = "META-INF/spring/%s.imports";

框架居然不是在找spring.factories,结合getCandidateConfigurations方法中

Assert.notEmpty(configurations,
                "No auto configuration classes found in "
                        + "META-INF/spring/org.springframework.boot.autoconfigure.A

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值