互动
最近评论
最近评论内容 TODO
这里需要后面适配瞬间的插件
后面再适配吧!
Halo Theme Hao
更多信息请关注 GitHub
什么是循环依赖,以及 Spring 是如何解决循环依赖的?
在 finishBeanFactoryInitialization 中介绍了创建 Bean 的流程大概流程,这里进入单例 Bean 的创建过程。
可以说前面的都是准备工作,而接下来开始的才是重点,在这一步会完成 BeanFactory 的初始化,同时实例化单例 Bean。
上一篇介绍了国际化的使用以及初始化消息源的源码,接下来接着往下阅读,将进入 initApplicationEventMulticaster 、onRefresh 和 registerListeners 的相关操作逻辑。
在阅读完 registerBeanPostProcessors 源码之后, 下一步就进入到 initMessageSource,这一步主要作用是初始化国际化文件。
这一步主要的作用是加载 BeanPostProcessor,从名字也可以看出,只是加载,并没有执行。
invokeBeanFactoryPostProcessors 会执行 BeanFactory 的后置处理器。
根据 refresh 流程,当 obtainFreshBeanFactory 执行结束后,下一步会执行 prepareBeanFactory ,顾名思义,这个方法主要是准备 BeanFactory,下面一起看一看这部分逻辑。
前面的准备工作结束之后,就是进入核心代码 refresh。
context.register(JavaConfig.class);