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)

 

posted @ 2019-11-23 23:44  水漾之舞  阅读(243)  评论(0)    收藏  举报