前言
前面的准备工作结束之后,就是进入核心代码 refresh。
源码
源码就是密密麻麻的一大堆,源码上有相应的注释。
下面就根据流程,一步一步的深入源码,了解到每一步都是做什么了。
容器刷新准备
这一步主要是准备一些上下文信息。就不过多介绍了。
obtainFreshBeanFactory
下面关注初始化 BeanFactory 这一步:
进入源码:
通过 Debug 可以看出 这一步调用的是 中实现的方法。
继续跟进
发现这块判断了一个 刷新状态。
方法也有另一个实现是在 中, 只不过我的断点没有断进去,这块也一起看下。
其中会创建 BeanFactory 并加载 BeanDefinition。只不过我暂时没有断到,所以等后面遇到之后再详细介绍。
总结
本文简单介绍了 refresh 的流程,并介绍了前两个部分:
prepareRefresh 准备上下文信息
obtainFreshBeanFactory 初始化 BeanFactory
- -
领取专属 10元无门槛券
私享最新 技术干货