SpringBoot 3 自动装配
在 Spring 应用的启动类上我们都会标注 @SpringBootApplication 注解

@SpringBootApplication 注解有三个重要注解
@SpringBootConfiguration
@EnabLeAutoConfiguration
@ComponentScan

@EnabLeAutoConfiguration注解内部导入了AutoConfigurationImportSelector.class

AutoConfigurationImportSelector.class实现了 DeferredImportSelector延时导入选择器

并重写了selectImports方法

重写后的方法中在获取候选配置类时

会寻找/META-INF/spring/AutoConfiguration.class 的全限定名.imports 文件




之后去重、移除排除项、过滤(条件装配)、触发自动配置导入事件

如果想要自定义场景启动器 starter,开发者只需要在约定的配置文件中声明自动配置类,springboot框架在启动时就会自动使用声明信息去完成装配。
自定义starter
- 自定义配置属性类,并声明配置前缀(在 application.yml 使用前缀个性化配置)
- 自定义自动配置类。其属性均来自自定义配置类
- 在 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports声明自定义配置类