创建自己的自动配置

Spring 启动基于许多预先制作的自动配置父项目。你应该已经熟悉了 spring boot starter 项目。

你可以通过以下简单步骤轻松创建自己的初始项目:

  1. 创建一些 @Configuration 类来定义默认 bean。你应尽可能使用外部属性以允许自定义并尝试使用自动配置帮助器注释,如 @AutoConfigureBefore@AutoConfigureAfter@ConditionalOnBean@ConditionalOnMissingBean 等。你可以在官方文档条件注释中找到有关每个注释的更多详细信息。
  2. 放置一个聚合所有 @Configuration 类的自动配置文件/文件。
  3. 创建一个名为 spring.factories 的文件并将其放在 src/main/resources/META-INF 中。
  4. spring.factories 中,使用逗号分隔的 @Configuration 类值设置 org.springframework.boot.autoconfigure.EnableAutoConfiguration 属性:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.mycorp.libx.autoconfigure.LibXAutoConfiguration,\
com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration

使用此方法,你可以创建自己的自动配置类,这些类将由 spring-boot 选择。Spring-boot 会自动扫描 spring.factories 文件的所有 maven / gradle 依赖项,如果找到,则会将其中指定的所有 @Configuration 类添加到其自动配置过程中。

确保你的 auto-configuration 启动项目不包含 spring boot maven plugin,因为它会将项目打包为可执行的 JAR,并且不会按预期的类路径加载 - spring boot 将无法找到你的 spring.factories 并且不会加载你的配置