spring流程-启动及bean定义解析
2015-12-18 10:00:50 32 举报
Spring流程启动及Bean定义解析是Spring框架的核心部分。当应用程序启动时,Spring会创建一个容器,该容器负责管理所有的Bean对象。在容器中,每个Bean都会被实例化并注入所需的依赖项。 Bean定义解析是Spring框架的另一个重要组成部分。它允许开发人员通过XML文件或注解来定义Bean对象的属性和行为。这些定义会被Spring容器读取并解析,以便在运行时创建和管理Bean对象。 总之,Spring流程启动及Bean定义解析是Spring框架的基础,它们为开发人员提供了一个强大而灵活的工具集,用于构建高效、可维护的应用程序。
作者其他创作
大纲/内容
PropertiesBeanDefinitionReader/XmlBeanDefinitionReader/GroovyBeanDefinitionReader
初始化开始:initWebApplicationContext()
BeanDefinitionParserDelegate
BeanDefinitionDocumentReader
spring操作动态开始:继承自父级refresh()
加载bean配置文件中的的定义:loadBeanDefinitions()
XmlWebApplicationContext
注册bea配置对象:registerBeanDefinitions()
AbstractRefreshableApplicationContext
AbstractApplicationContext(资源定位、加载、解析、注册)-spring 启动模板
DefaultBeanDefinitionDocumentReader
AbstractBeanDefinitionReader(解析xml)
注册bean定义-名字:registerBeanDefinition()
普通bean解析(import,bean,beans,alias标签):parseDefaultElement()
获取parse()
NamespaceHandler
BeanDefinitionRegistry(缓存bean定义)
BeanDefinitionParser(大量parser,如:)
创建上下文:createWebApplicationContext()
解析出最终的bean定义:parse()
默认bean标签
ContextLoaderListener(web.xml)
BeanDefinitionReaderUtils
1:spring ioc - spring启动过程,及bean定义解析
配置上下文-进入spring:configureAndRefreshWebApplicationContext()
获取NamespaceHandler:resolve()
加载xml为dom:doLoadDocument()
创建默认上下文:构造方法
解析bean:parseBeanDefinitions()
入口:contextInitialized()
根据上文类创建:determineContextClass1:web.xml中配置contextClass2:默认配置ContextLoader.properties(spring-web-xxx.jar中)
spring操作动态开始:refresh()
注册bea配置对象:doRegisterBeanDefinitions()
加载bean配置文件中的的定义:doLoadBeanDefinitions()
ContextLoader
资源定位、加载、解析、注册:obtainFreshBeanFactory()
注册bean定义:registerBeanDefinition()
资源定位、加载、解析、注册:refreshBeanFactory()
注册bean定义-别名:registerAlias()
NamespaceHandlerResolver
0 条评论
回复 删除
下一页