Spring Boot自动装配原理

Spring Boot自动装配原理

  1. SpringBootApplition是一个组合注解,包含了三个重要注解
  1. CompomentScan 默认扫描当前类所在的包及其子包下包含的注解,将@Controller/@Service/@Component/@Repository等注解加载到IOC容器中

  2. SpringBootConfiguration 这个注解的底层是一个@Configuration注解,意思被@Configuration注解修饰的类是一个IOC容器,支持JavaConfig的方式来进行配置;

  3. EnableAutoConfiguration 是一个组合注解

  1. AutoConfigurationPackage 添加该注解的类所在的package 作为 自动配置package 进行管理。
  2. @Import({AutoConfigurationImportSelector.class}) 借助EnableAutoConfigurationImportSelector类,注解找到META-INF/spring.factories文件中的所有自动配置类,将所有符合条件的@Configuration配置都加载到Ioc容器,借助SpringFactoriesLoader工具类实现自动配置