【spring源码】XmlBeanFactory的加载过程

    我们来分析下spring是如果来加载这个bean的工厂的,现在在5.1版本的spring中已经把这个方法置为了被删除的,但是我们还是能从这个类中学到很多关于spring容器加载的过程。

【spring源码】XmlBeanFactory的加载过程_第1张图片

    首先通过ClassPathResource来加载我们的xml,他是从类路径中加载该xml。

    然后我们来点开XmlBeanFactory的构造函数,我们来看下。代码如下:

【spring源码】XmlBeanFactory的加载过程_第2张图片

这里有个参数是父级bean工厂,在这里我们没有,那么就是null,然后通过XmlBeanDefinitionReader 实例的loadBeanDefinitions方法来加载bean的定义,加载的过程是这样的:从线程变量中获取资源文件列表,如果没有则创建一个长度为4的hashmap,把该资源文件放进去,然后对xml进行解析,解析xml完成后得到document对象,然后把定义在xml里的bean标签解析为bean定义对象注册到bean 的定义表里,完成了容器的初始化。

你可能感兴趣的:(java,spring)