栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot自动装配原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot自动装配原理

1.当SpringBoot应用程序启动时,先创建SpringApplication对象,在其构造方法中进行初始化工作判断项目类型、初始化参数、监听器,加载Spring.factories文件。

2.执行run方法,先调用prepareContext初始化一些属性、环境对象、获取上下文配置等一些准备工作,再一个就是注册启动类为beanDenifition

3.然后调用refreshContext。这个方法会调用Spring的refresh方法,一共13个方法来完成整个Spring的启动,总结一下就是:基础配置、BeanFactory的创建处理、注解解析,bean的注册和实例化、监听器以及根据项目的一些扩展(例如Tocat容器的加载)。其中最重要的是invokeBeanFactoryPostProcessors,它是BeanFactoryPostProcessor和BeanDefinitionRegistry PostProcessor的子类。它将动态注册bean到容器中,解析@Configration的所有类的注解(@Componet、@ComponetScan、@import....),解析完成之后把这些bean注册到BeanFactory中。

其中@import非常有意思,他会从主类开始递归找出所有@import的类,然后进行分类,用不同的importSelector的子类处理解析@import的类,

@EnableAutoConfigration原理也是导入一个importSelector调用selectimport()方法,进一步调用getCandidateConfigurations方法扫描Spring.factories文件并且导出需要的自动配置类(之中传入该自动配置类的属性配置类),再通过反射机制实例化为对应的标注@Configuration形式的IoC容器配置类,然后注入IoC容器。实现自动装配

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/489398.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号