为什么使用spring.factories进行Spring Boot自动配置而不是注释?

Chu*_*k C 11 spring-boot

文件说明:

开发自动配置和使用条件

如果您在开发共享库的公司工作,或者您在开源或商业库中工作,则可能需要开发自己的自动配置.自动配置类可以捆绑在外部jar中,仍然可以通过Spring Boot获取.

如果我有其他所有注释(甚至@AutoConfigureAfter或@AutoConfigureBefore注释),

为什么要将属性文件维护为指向带注释的类?

Ste*_*oll 20

因为我们不会扫描世界以确定项目中存在哪些自动配置类.首先,自动配置只是一个普通的@Configuration类.

找到Spring组件的方式是通过显式声明或组件扫描,但我们需要在实际启动上下文之前知道自动配置类的列表.

  • `org.springframework.boot.autoconfigure.AutoConfigurationImportSelector` 和朋友们。并不是说这是您不应该处理的 Spring Boot 的内部组件。 (2认同)