分析Spring IoC源码(三)分析refresh()方法前的准备篇(一)

refresh()

上一节,我们初步分析了spring IoC容器是如何去初始化一个BeanFactory的,我们最主要的分析了BeanFactory是如何去初始化BeanDefinnitionMap的,而且我们分析的只是
AbstractApplicationContext.Java中refresh()中的obtainFreshBeanFactory()一个方法,还有很多方法没有分析
在这里插入图片描述

为什么要分析refresh这个方法呢,先看看它所在的类的地位
在这里插入图片描述
它是各种ApplicationContext的父类,说明了核心功能或者说beanfactory定义的一些ApplicationContext所遵循的规范都是在这个类中定义的,可能一些具体的实现是在子类中完成的所以分析这个类的这个方法是很有必要的
对,我们这个方法还有很多没有解析,例如
①如何初始化bean的
②怎么处理BeanPostProcessor
③怎么处理InitializingBean
④怎么处理DisposableBean
⑤怎么处理init-method
等等
如果直接debug分析这个代码,估计大家很难看懂,所以我们“庖丁解牛”一发,再接着分析refresh之前,我们先依次讲解一下这里面的核心主件,然后就方便理解了

猜你喜欢

转载自blog.csdn.net/weixin_43397326/article/details/83144653