2022.5.8
Spring Boot 的自动配置是基于 Spring Factories 机制实现的。
Spring Factories 机制是 Spring Boot 中的一种服务发现机制,这种扩展机制与 Java SPI
机制十分相似。Spring Boot 会自动扫描所有 Jar 包类路径下 META-INF/spring.factories
文件,并读取其中的内容,进行实例化,这种机制也是 Spring Boot Starter 的基础。
spring.factories
spring.factories 文件本质上与 properties 文件相似,其中包含一组或多组键值对(key=vlaue),其中,key 的取值为接口的完全限定名;value 的取值为接口实现类的完全限定名,一个接口可以设置多个实现类,不同实现类之间使用“,”隔开,例如:
- org.springframework.boot.autoconfigure.AutoConfigurationImportFilter=\
- org.springframework.boot.autoconfigure.condition.OnBeanCondition,\
- org.springframework.boot.autoconfigure.condition.OnClassCondition,\
- org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition
注意:文件中配置的内容过长,为了阅读方便而手动换行时,为了防止内容丢失可以使用“\”。