Spring Boot自动装配原理
- SpringBootApplition是一个组合注解,包含了三个重要注解
CompomentScan 默认扫描当前类所在的包及其子包下包含的注解,将@Controller/@Service/@Component/@Repository等注解加载到IOC容器中
SpringBootConfiguration 这个注解的底层是一个@Configuration注解,意思被@Configuration注解修饰的类是一个IOC容器,支持JavaConfig的方式来进行配置;
EnableAutoConfiguration 是一个组合注解
- AutoConfigurationPackage 添加该注解的类所在的package 作为 自动配置package 进行管理。
- @Import({AutoConfigurationImportSelector.class}) 借助EnableAutoConfigurationImportSelector类,注解找到META-INF/spring.factories文件中的所有自动配置类,将所有符合条件的@Configuration配置都加载到Ioc容器,借助SpringFactoriesLoader工具类实现自动配置