Spring源码分析
2018-12-27 09:14:23 0 举报
Spring源码分析--作者--闫明
作者其他创作
大纲/内容
createDocumentBuilderFactory
doRegisterBeanDefinitions
org.springframework.context.support.AbstractApplicationContext
Document
refreshBeanFactory
parseBeanDefinitionElement(解析class,parent)
org.springframework.beans.factory.support.DefaultListableBeanFactory
org.springframework.beans.factory.config.ConfigurableListableBeanFactory
createBeanFactory
org.springframework.context.support.AbstractXmlApplicationContext
registerBeanDefinitions
loadBeanDefinitions
loadDocument
obtainFreshBeanFactory (获取新的beanfactory)
importBeanDefinitionResource
createBeanDefinition
createBeanDefinition(通过class,parent,classloader使用反射技术完成BeanDefinition实例化);实例类型为GenericBeanDefinition(这里bean的包装类型,此时用的设计模式为装饰者设计模式)
org.springframework.beans.factory.xml.DefaultDocumentLoader
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader
org.springframework.beans.factory.support.AbstractBeanDefinitionReader
obtainFreshBeanFactory
parseBeanDefinitionElement
注册
org.springframework.beans.factory.xml.XmlBeanDefinitionReader
refresh
refresh()
postProcessXml
parseBeanDefinitions
parse
getConfigLocationsthis.configLocations == null时会调用getDefaultConfigLocations (调用子类XmlWebApplicationContext重写的方法)
processBeanDefinition
DefaultListableBeanFactory
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate
initBeanDefinitionReader (设置reader的属性与factory关联起来,与applicationcontext关联)XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(beanFactory);
加载
parseDefaultElement
定位
parseBeanDefinitionElement(解析id,name)
getConfigLocations(调用子类ClassPathxmlApplicationContext重写的getConfinRources,返回Resource[] configResources)
getConfigResources(调用子类ClassPathxmlApplicationContext重写的getConfinRources,返回Resource[] configResources)
org.springframework.context.support.AbstractRefreshableApplicationContext
doLoadBeanDefinitions
preProcessXml
String[] configLocations
processAliasRegistration
doLoadDocument
createDocumentBuilder
org.springframework.context.support.ClassPathXmlApplicationContext
org.springframework.beans.factory.support.BeanDefinitionReaderUtils
setConfigLocations(configLocations)设置
0 条评论
回复 删除
下一页