怎么理解Springboot的自动配置
指的是springboot会自动将一些配置类的bean注册进ioc容器,我们可以需要的地方使用@autowired或者@resource等注解来使用它。
@condition注解
SpringBoot并不是把所有的配置类全部扫描进IOC容器中,在环境满足一定条件后,才会进行注册到IOC中.
根据代码梳理自动配置过程
- 首先是@SpringBootApplication注解
- 上面注解中包含@EnableAutoConfiguration注解
- 上面注解中包含了@import注解
- import注解引入一个类,AutoConfigurationImportSelector类
- 在上面类中包含了一个getCandidateConfigurations方法
- 方法中包含了SpringFactoriesLoader.loadFactoryNames
- 上面语句表示通过Spring加载器去扫描对应的具有META-INF/spring.factories文件的Jar包
- 进入其中的一个类中,发现类上面标识Condition注解
- 也就是我环境中存在对应的类或者配置的话,这个配置类才会被加载到IOC容器中