前提:
springboot实例化AutoConfiguration有两种方式:
1.@Configuration注解方式
2.通过META-INF下的spring.factories文件指定,如:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration
结论:
如果想通过@AutoConfigureAfter@AutoConfigureBefore保证bean的加载顺序,
只能使用第二种方式,即使用spring.factories方式才能保证顺序!
不能既使用@Configuration注解又使用spring.factories方式
原因:
如果使用@Configuration方式有两个问题:
1.不能保证一定会被扫描到
2.springboot是通过spring.factories文件确定实例化顺序的,如果使用@Configuration注解,bean扫描实例化时,不会按照指定的顺序加载!
版权声明:本文为KradMe原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。