SpringBoot是通过EnableAutoConfiguration注解找到spring.factories的吗
时间: 2024-02-17 08:01:56 浏览: 23
是的,Spring Boot 是通过 `@EnableAutoConfiguration` 注解来启用自动配置功能的。该注解会启用 Spring Boot 的自动配置机制,自动配置的过程就是通过查找 `spring.factories` 文件来实现的。
具体来说,`@EnableAutoConfiguration` 注解内部使用了 `@Import` 注解,将 `AutoConfigurationImportSelector` 类注入到 Spring 容器中。`AutoConfigurationImportSelector` 类的作用是扫描 classpath 下的 `META-INF/spring.factories` 文件,并根据其中的配置信息来选择需要自动配置的类。
`spring.factories` 文件是 Spring Boot 中的一个标准文件,所有的自动配置类都需要在其中声明。该文件位于 classpath 下的 `META-INF/spring.factories` 目录下,文件格式为键值对,例如:
```
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.MyAutoConfiguration,\
com.example.OtherAutoConfiguration
```
上述配置中,`EnableAutoConfiguration` 键对应的值为 `MyAutoConfiguration` 和 `OtherAutoConfiguration`,表示这两个类是需要自动配置的类。
通过 `@EnableAutoConfiguration` 注解启用自动配置功能时,Spring Boot 就会扫描 `spring.factories` 文件,加载需要自动配置的类,并将其加入到 Spring 应用上下文中。