前言:我们上一个文章讨论了@AutoConfigurationPackage 注解。接下来我们讨论@Import({AutoConfigurationImportSelector.class}) 注解。
也就是这个注解
首先让我们进入这个注解,里面有一个方法 selectImports就是给给容器中批量导入一些组件的方法。
里面有一个方法selectImports就是给给容器中批量导入一些组件的方法。
getAutoConfigurationEntry方法里面的getCandidateConfigurations方法 导入候选配置信息。我们可以打断点来看看,到底加载了哪些候选配置信 息。
问题来了,这124项候选配置信息到底从何而来? 我们继续进入getCandidateConfigurations方法内部。
我们进入loadFactoryNames方法内部:
继续进入loadSpringFactories方法内部:
我们再去寻找这个spring.factories文件在哪里
打开这个文件我们发现
从22开始,一直到145行,我们发现不多不少,刚刚是124(145-22+1)项配 置信息。这样就把我们的配置类加载到项目当中了。查了挺多资料的,英语不太行。