一,什么是SpringBoot自动装配
springboot自动装配:一个springboot项目通过扫描类路径下存在的类和各种配置信息自动装配,生成对应的B哦按对象,然后将他们交给spring容器管理。
二、SpringBoot自动装配原理
2.1启动类注解@SpringBootApplication
该注解表示由@SpringBootApplication标识的类是该项目的主启动类、springboot应该运行这个类里面的main()方法来启动程序;
@SpringBootApplication
public class SpringbootCondition02Application {
public static void main(String[] args) {
}
}
2.2 @SpringBootConfiguration注解
这个注解标注在哪个类上,就表示当前这个类是一个配置类,而配置类也是spring容器中的组件
2.3 @EnableAutoConfiguration注解
这个注解是开启自动配置的功能,里面包含了两个注解
- @AutoConfigurationPackage
- @Import(AutoConfigurationImportSelector.class)
@AutoConfigurationPackage
这个注解表示将主配置类(@SpringBootApplication标注的类)所在包以及子包里面的所有组件扫描并加载到spring的容器中;
@Import(AutoConfigurationImportSelector.class)
上一个注解我们把所有组件都加载到了容器里面,这个注解就是将需要自动装配的类以全类名的方
式返回;
AutoConfigurationImportSelector是 Spring Boot 中的一个关键类,它负责处理自动配置类的导入。这个类的主要作用是根据应用的类路径和配置条件,选择性地导入适合当前环境的自动配置类
AutoConfigurationImportSelector 会读取 META-INF/spring.factories
文件,该文件列出了所有的自动配置类;
2.4 @ComponentScan注解
这个注解的作用就是扫描当前包及子包的注解