SpringBoot自动装配
2021-10-13 11:36:21 20 举报
AI智能生成
SpringBoot自动装配流程
作者其他创作
大纲/内容
@SpringBootApplication
@SpringBootConfiguration:@Configuration @Component
@EnableAutoConfiguration:自动导入包
@AutoConfigurationPackage
@Import({Registrar.class}):自动注册包
@Import({AutoConfigurationImportSelector.class}):自动导入包的核心
AutoConfigurationImportSelector.class:自动导入选择器
getAutoConfigurationEntry():获得自动配置的实体
getCandidateConfigurations():获取候选的配置
protected Class<?> getSpringFactoriesLoaderFactoryClass() {
return EnableAutoConfiguration.class;
}//标注了EnableAutoConfiguration注解的类
return EnableAutoConfiguration.class;
}//标注了EnableAutoConfiguration注解的类
loadFactoryNames():获取所有的配置名
loadSpringFactories():
项目资源:Enumeration urls = classLoader.getResources("META-INF/spring.factories");从这里获取配置文件
从这些资源中遍历了所有的NextElement(自动配置),遍历完成之后,封装为Properties供我们使用
spring-boot-autoconfigure-2.4.5.jar
META-INF/Spring.factories:所有的配置类都在这
核心注解:@ConditionalOnXXX 如果这里面条件都满足才生效
@ComponentScan:扫描当前主启动类同级的包
SpringBoot所有的自动配置都是在启动的时候启动并加载:spring.factories所有的自动配置类都在这里面,但是不一定会生效,要判断条件是否成立,只要导入对应的start,就有对应的启动器了,有了启动器,我们就能实现自动装配,然后就配置成功
0 条评论
下一页