@AutoConfigureAfter和@AutoConfigureOrder的使用

简介

如果你想将在SpringBoot项目中的配置类进行排序,但在配置@AutoConfigureAfter或者是@AutoConfigureOrder注解之后仍不生效,那么你的项目中应该是缺少了spring.factories文件。因为SpringBoot 只会对从这个文件读取到的配置类进行排序。

1. @AutoConfigureAfter的使用例子

1.1 需求,要在加载ConfigurationB之后加载ConfigurationA

@AutoConfigureAfter和@AutoConfigureOrder的使用_第1张图片

1.2 第一步:创建META-INF/spring.factories文件

@AutoConfigureAfter和@AutoConfigureOrder的使用_第2张图片
@AutoConfigureAfter和@AutoConfigureOrder的使用_第3张图片

1.3 第二步:添加@AutoConfiguteAfter注解

注意:在spring.factories里注册了的配置类,这里的@Configuration可省略

@AutoConfigureAfter和@AutoConfigureOrder的使用_第4张图片
@AutoConfigureAfter和@AutoConfigureOrder的使用_第5张图片

2. @AutoConfigureOrder的使用例子

2.1 需求:加载顺序C->B->A

@AutoConfigureAfter和@AutoConfigureOrder的使用_第6张图片

2.2 第一步:创建META-INF/spring.factories文件

@AutoConfigureAfter和@AutoConfigureOrder的使用_第7张图片

2.3 第二步:添加@AutoConfigureOrder注解

注意:执行优先级别根据数字决定,数字越小,越优先加载,负数也可以。

@AutoConfigureAfter和@AutoConfigureOrder的使用_第8张图片
将B中的值设为1,C中的值设为0,就可以做到C->B->A的执行顺序。
控制台输出如下图:
@AutoConfigureAfter和@AutoConfigureOrder的使用_第9张图片

你可能感兴趣的:(SpringBoot)