SpringBoot自动配置流程图
2021-04-21 18:20:31 18 举报
SpringBoot自动配置流程图主要包含以下步骤:首先,SpringBoot启动时会扫描项目中的类路径,寻找包含@Configuration注解的类;然后,SpringBoot会根据这些类中定义的配置类创建bean实例;接着,SpringBoot会将这些bean实例注册到Spring容器中;最后,SpringBoot会根据这些bean实例的属性值和配置文件中的值进行属性填充。在整个过程中,SpringBoot还会根据项目的类型(如Web项目、JPA项目等)和依赖的库来自动配置相应的组件(如Tomcat、MyBatis等)。
作者其他创作
大纲/内容
SpringBoot自动配置流程图
org.springframework.boot.autoconfigure.EnableAutoConfiguration
调用
过滤条件
入口:@SpringBootApplication
调用2
getOrDefault进行过滤
N
selectImports返回一个数组,将数组中的完整类名注册为bean
过滤原理:拿到每个自动配置类上的@ConditionalOnXXX注解,判断条件是否匹配
(1)先获取自动配置类
@Import
getCandidateConfigurations获取所有自动配置类的名字
有没有实现getImportGroup()
getAutoConfigurationEntry获取所有有效的自动配置类
getConfigurationClassFilter().filter(configurations)根据pom中的starter过滤出有效的自动配置类
Group.selectImports()
Y
这些类我们称之为“自动配置类”帮我们整合第三方库做的一些默认配置
去所有jar包及类路径中查找并读取读取文件META-INF/spring.factories
以这个类名作为条件过滤取出所有自动配置类
(2)拿到所有配置类后过滤出有效配置类
AutoConfigurationImportSelector implements DeferredImportSelector
process()
返回数据
loadFactoryNames
@EnableAutoConfiguration启动自动配置,会自动扫描所有配置类,扫描到并满足条件(@ConditionalOnXXX)才会生效
返回一个自定义的实现了DeferredmportSelector.Group的类
DeferredImportSelector工作原理
调用1

收藏
0 条评论
下一页