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