SpringBoot设置@Configuration的加载顺序

SpringBoot设置@Configuration的加载顺序

目录
1、简介
2、例子

1、简介
Spring Boot会检查你发布的jar中是否存在META-INF/spring.factories文件,该文件中以EnableAutoConfiguration为key的属性应该列出你的配置类:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.mycorp.libx.autoconfigure.LibXAutoConfiguration,\
com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration

你可以使用@AutoConfigureAfter或@AutoConfigureBefore注解为配置类指定特定的顺序。例如,如果你提供web-specific配置,你的类就需要应用在WebMvcAutoConfiguration后面。

你也可以使用@AutoconfigureOrder注解为那些相互不知道存在的自动配置类提供排序,该注解语义跟常规的@Order注解相同,但专为自动配置类提供顺序。

注:自动配置类只能通过这种方式加载,确保它们定义在一个特殊的package中,特别是不能成为组件扫描的目标。

2、例子
例如下面的项目,想要保证加载BananaConf.java后再加载AppleConf.java
目录结构
在这里插入图片描述

1)添加文件spring.factories(若没有META-INF文件夹,则需要先添加)
2)在spring.factories中加入

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.demo.conf.AppleConf,\
com.example.demo.conf.BananaConf

3)AppleConf中添加 @AutoConfigureAfter(BananaConf.class)

@Configuration
@AutoConfigureAfter(BananaConf.class)
public class AppleConf
{
    xxx
}

BananaConf正常配置即可

@Configuration
public class BananaConf
{
    xxx
}

注意:在spring.factories注册了的配置类,可以不用再该配置类写@Configuration

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值