Spring Boot 的自动配置是怎样实现的?
先自己想一想,再看参考要点
参考要点
- @SpringBootApplication 包含 @EnableAutoConfiguration
- 启动时读取各 jar 中 META-INF/spring/...AutoConfiguration.imports(2.7 之前为 spring.factories)列出的自动配置类
- 大多数自动配置类带 @ConditionalOnClass、@ConditionalOnMissingBean 等条件注解,条件满足才生效
- 自动配置在用户的 Bean 注册之后处理,用户定义的 Bean 优先