43.2 定位自动配置候选者

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

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

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

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

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