做一个合格的程序猿之浅析Spring IoC源码(三)分析refresh()方法前的准备篇(一)
转自:http://blog.csdn.net/linuu/article/details/50846058
上一节,我们初步分析了Spring IoC容器是如何去初始化一个BeanFactory的,我们最主要的分析了BeanFactory是如何去初始化BeanDefinnitionMap的,而且我们分析的只是
AbstractApplicationContext.java中refresh()中的obtainFreshBeanFactory()一个方法,还有很多方法没有分析
为什么要分析refresh这个方法呢,先看看它所在的类的地位
它是各种ApplicationContext的父类,说明了核心功能或者说beanfactory定义的一些ApplicationContext所遵循的规范都是在这个类中定义的,可能一些具体的实现是在子类中完成的~所以分析这个类的这个方法是很有必要的~
对,我们这个方法还有很多没有解析,例如
①如何初始化bean的
②怎么处理BeanPostProcessor
③怎么处理InitializingBean
④怎么处理DisposableBean
⑤怎么处理init-method
等等
如果直接debug分析这个代码,估计大家很难看懂,所以我们“庖丁解牛”一发,再接着分析refresh之前,我们先依次讲解一下这里面的核心主件,然后就方便理解了
我只是抛砖引玉,说的不好还请各位大神指出~