SpringBoot自动装配原理分析
2022-01-14 12:50:04 1 举报
AI智能生成
SpringBoot自动装配原理分析
作者其他创作
大纲/内容
@SpringBootApplication
@ComponentScan:扫描当前主启动类同级的包
@SpringBootConfiguration
@Configuration
@Component
@EnableAutoConfiguration:自动导入包
@AutoConfigurationPackage : 自动配置包
@import(Registrar.class) : 自动注册包
@Import({AutoConfigurationImportSelector.class}) :自动导入包的核心
AutoConfigurationImportSelector : 自动配置导入选择器
getAutoConfiqurationEntre() : 获得自动配置的实体
getCandidateConfigurations() : 获取候选的配置
loadFactoryNames() : 获取所有的加载配置
this.getSpringFactoriesLoaderFactoryCl
ass(), this.getBeanClassLoader() return EnableAutoConfiguration.class
ass(), this.getBeanClassLoader() return EnableAutoConfiguration.class
loadSpringFactories()
classLoader.getResources("META-INF/spring.factories") :
spring-boot-autoconfigure-2.2.0.RELEASE.jar
META-INF
spring.factories 所有自动配置类都在这里了
ClassLoader.getSystemResources("META-INF/spring.factories");
将读取到的资源遍历,封装成为一个Properties
结论: springboot所有自动配置都是在启动的时候扫描并加载: spring. factories所有的自动配置类都在这里,面,但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器,我们自动装配就会生效,然后就配置成功!
0 条评论
下一页