SpringBoot自动装配
1.SpringBootApplication -> EnableAutoConfiguration(true)
2.EnableAutoConfiguration -> ImportSelector
3.ImportSelector -> getCandidateConfigurations
4.getCandidateConfigurations -> SpringFactoriesLoader.loadFactoryNames(从classpath中搜索所有META-INF/spring.factories)
5.spring.factories -> List<String> configurations(至此,所有自动装配配置以类全名的方式被加载到一个List中)
6.List中去重、排序
7.根据EnableAutoConfiguration配置进行排除(exclude、excludeName)
8.根据条件执行过滤(ConditionalOnClass、ConditionalOnBean、ConditionalOnMissingBean)

浙公网安备 33010602011771号