SpringBoot IOC容器初始化的全流程
SpringBoot IOC容器初始化流程
IOC 容器的初始化,核心工作实在 AbstractApplicationContext.refresh 方法中完成
在方法中主要做这么几件事情
准备 BeanFactory
在这一块会为 BeanFactory 设置很多属性,比如类加载器等等。

执行 BeanFactoryPostProcessors 后置处理器
这一阶段会扫描放入容器中的 Bean 信息,得到 BeanDefinition(只扫描不创建)

注册 BeanProcessors
这一阶段我们自己写的 BeanPostProcessors 会被加载,将来 Bean 实例化好之后需要用到。

启动 tomcat

实例化所有非懒加载的单例 Bean
多例 Bean 以及懒加载 Bean 不会在这个阶段创建,以后用到了才创建。

容器初始化完成后会做一些扫尾工作
清理缓存。
总结
在 IOC 容器初始化中,首先先准备 BeanFactory,执行 BeanFactoryPostProcessors 后置处理器,注册 BeanProcessors 并启动 tomcat,最后通过 BeanFactory 加载所有非懒加载的单例 Bean。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot http post请求数据大小设置操作
这篇文章主要介绍了SpringBoot http post请求数据大小设置操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-09-09


最新评论