beanDefinition是如何加载的-时序图
2024-02-06 18:59:47 0 举报
使用
bean定义信息的加载
作者其他创作
大纲/内容
将自己传进去,创建readerContext
beanDefinition
继承自AbstractRefreshableConfigApplicationContext
beanDefinitionNames
reader属性
XmlBeanDefinitionReader
readerContext属性
doLoadBeanDefinitions
registerBeanDefinition注册bean定义信息到map中
BeanDefinitionHolder
readerContext
调用子类,加载bean定义信息loadBeanDefinitions(beanFactory)
beanFactory作为registry
AbstractXmlApplicationContext
AbstractRefreshableApplicationContext
调用子类的refreshBeanFactory
loadBeanDefinitons(配置文件)
传入beanFactory,创建xmlBeanDefinitionReader(registry)
获取readerContext,再通过readerContext获取registry
传入bdHolder、registry注册beanDefinition
xmlBeanDefinitionReader
刷新容器refresh()(调用父类的方法)
ClassPathXmlApplicationContext
创建beanDefinition对象。创建holder,存储beanDefinition对象
documentReader
registerBeanDefinitions
beanFactory
beanDefinitionMap
AbstractApplicationContext
xmlReaderContext
解析xmlparseBeanDefinitions
创建bean工厂
BeanDefinitionReaderUtils
调用父类构造方法
创建bean工厂obtainFreshBeanFactory
registry
将配置文件转为Resource对象,加载bean定义信息
设置配置文件路径setConfigLocations
DefaultListableBeanFactory
registrybeanFactory
configLocaltions
创建documentReader
loadBeanDefinitions(reader)
classPathXmlApplicationContext
注册bean定义信息
bdHolder
0 条评论
下一页