通过Debug方式来看Spring的启动流程
前言:在spring源码学习的第二天,是通过课程资源,以Debug的方式来观察Spring的启动流程,这个过程并没有对Spring进行过于深入的探究。但是以源码的方式来验证了第一天的流程图,也加深了一些印象。所以,在这篇博客中,不再画过多的文字篇幅来进行阐述了,以粗糙的流程图来进行表达。在文章的最后会将今天学习的完整流程图补上。
1.在我们启动Spring程序时,通过如下代码来进行加载XML配置文件:
ApplicationContext ac=new ClassPathXmlApplicationContext("XXX.xml");
Debug进入后,我们看到的是通过ClassPathXmlApplicationContext通过一些列重载的方式调用了其抽象父类的refresh()方法
2.对于Spring源码学习的第一个重头戏,那必然是AbstractApplicationContext抽象类的refresh()方法。首先表明,下图中refresh()方法所标注的步骤是我学习完,可以理解的,觉得重要的,中间一些步骤可能一时还未理清楚就部献丑了。再者,下图左侧都是在描述refresh()方法&#