springIoC初始化过程
2019-09-25 23:09:42 73 举报
Spring IoC加载过程时序图
作者其他创作
大纲/内容
设置Bean配置信息的定位路径:setConfigLocation(location)
循环调用重载的loadBeanDefinitions(location)
BeanDefinitionParserDelegate
调用重载的loadBeanDefinitions(beanDefinitionReader)
AbstractRefreshableApplicationContext
注册
A
委派子类AbstractRefreshableApplicationContext执行实际刷新:refreshBeanFactory()
获取root元素
并且,此时序图不会将所有的细节一一列出,仅列出主要关键性代码
Spring IoC初始化过程
注意:一个
ClassPathXmlApplicationContext
将配置变为资源,并调用loadBeanDefinitions(resource)
创建读取Document的对象,createBeanDefinitionDocumentReader
AbstractApplicationContext
DefaultListableBeanFactory
代表一个类
代表一个方法,一个
AbstractBeanDefinitionReader
执行root元素的注册,doRegisterBeanDefinitions(root)
创建一个Xml的读取对对象:XmlBeanDefinitionReaderXmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(beanFactory)
XmlBeanDefinitionReader
装载
基于spring-5.0.4.RELEASE版本
loadBeanDefinitions(new EncodedResource(resource))
创建BeanFactory:createBeanFactory()
AbstractXmlApplicationContext
new ClassPathXmlApplicationContext(\"application\")
BeanDefinitionReaderUtils
调用XmlBeanDefinitionReader父类提供的reader.loadBeanDefinitions(configLocations)方法
DefaultBeanDefinitionDocumentReader
启动刷新:refresh()
加载Bean的定义:loadBeanDefinitions(beanFactory)
判断root节点是否使用Spring默认的命名空间delegate.isDefaultNamespace(root)
设置Bean资源加载器:super(parent)
true|false
SpringIoC博客:https://blog.csdn.net/aidaowuqiong/article/details/100994338
定位
构造器
获取一个可刷新的BeanFactory:obtainFreshBeanFactory()
0 条评论
下一页