spring 源码分析(1)-xml文件解析

咱们在最开始接触spring的时候,看到很多书spring入门的例子以下spring

ApplicationContext atx = new ClassPathXmlApplicationContext("application.xml");
atx.getBean("benefitService");

上面这个例子第一行是表示如何初始化一个spring 容器,第二表示如何从一个已经初始化后的spring容器中按bean id获得这个bean, 绝大部分spring应用中,bean都是按业务模板和层次分别配置在不一样的xml文件中, spring容器根据配置的xml文件名路径去分别解析这些xml 配置文件,生成相应的BeanDefinition 实例,一个bean对应一个BeanDefinition, 解析完成bean 的xml配置文件以后,spring容器就开始初始bean,大概的过程以下:
image.png
这篇文章主要分析第一个阶段,即xml配置文件 ---->BeanDefinition这个过程,首先根据IDE工具看一下ClassPathXmlApplicationContext 这个类的继承关系:
image.png
经过这个继续关系,发现ClassPathXmlApplicationContext也是间接实现了ResourceLoader这个接口, ResourceLoader的实现类主要用于根据给定的资源文件地址返回对应的Resource,在本例中,这个资源文件就是application.xml;
接着往下看app

相关文章
相关标签/搜索