spring boot 源码版本 2.0.9.RELEASE。spring boot 高版本,没有走AutoConfigurationImportSelector#selectImports方法。
Spring Boot 自动装配
先看下Spring Boot 启动类注释 @SpringBootApplication。在这些注解中,重要的就是两个 @SpringBootConfiguration
和 @EnableAutoConfiguration
。从下图可以看到该注解是个组合注解,本文关于自动装配,用了到里面的 @EnableAutoConfiguration
里面的 @Import(AutoConfigurationImportSelector.class)
。
@Import({AutoConfigurationImportSelector.class})
主要功能就是自动配置导入选择器。
AutoConfigurationImportSelector#selectImports
1 |
|
参数含义:
- AnnotationMetadata:SpringBoot启动类上的注释的全限定名,比如
@com.springboot.sample.starter.annotation.EnableSampleServer()
- AutoConfigurationMetadata:依赖的AutoConfiguration类的元数据