Spring RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition
2017-04-01 12:00
507 查看
RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition均继承了AbstractBeanDefiniton,其中BeanDefinition是配置文件元素标签在容器中内部表示形式。元素标签拥有class、scope、lazy-init等配置属性,BeanDefinition则提供了相应的beanClass、scope、lazyInit属性,BeanDefinition和中的属性是一一对应的。其中RootBeanDefinition是最常用的实现类,它对应一般性的元素标签,GenericBeanDefinition是自2.5以后新加入的bean文件配置属性定义类,是一站式服务类。在配置文件中可以定义父和子,父用RootBeanDefinition表示,而子用ChildBeanDefiniton表示,而没有父的就使用RootBeanDefinition表示。AbstractBeanDefinition对两者共同的类信息进行抽象。
Spring通过BeanDefinition将配置文件中的配置信息转换为容器的内部表示,并将这些BeanDefiniton注册到BeanDefinitonRegistry中。Spring容器的BeanDefinitionRegistry就像是Spring配置信息的内存数据库,主要是以map的形式保存,后续操作直接从BeanDefinitionRegistry中读取配置信息。一般情况下,BeanDefinition只在容器启动时加载并解析,除非容器刷新或重启,这些信息不会发生变化,当然如果用户有特殊的需求,也可以通过编程的方式在运行期调整BeanDefinition的定义。
Spring通过BeanDefinition将配置文件中的配置信息转换为容器的内部表示,并将这些BeanDefiniton注册到BeanDefinitonRegistry中。Spring容器的BeanDefinitionRegistry就像是Spring配置信息的内存数据库,主要是以map的形式保存,后续操作直接从BeanDefinitionRegistry中读取配置信息。一般情况下,BeanDefinition只在容器启动时加载并解析,除非容器刷新或重启,这些信息不会发生变化,当然如果用户有特殊的需求,也可以通过编程的方式在运行期调整BeanDefinition的定义。
相关文章推荐
- Spring RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition
- spring源码(11)bean的parent属性详解和获取RootBeanDefinition
- Spring图解将bean标签转换BeanDefinition
- java.lang.NoSuchMethodError: org.springframework.beans.factory.support.RootBeanDefinition.<init>
- spring解析xml中的bean的一个关键类public class BeanDefinitionParserDelegate
- 003-Spring4 扩展分析BeanPostProcessor、BeanFactoryPostProcessor、BeanDefinitionRegistryPostProcessor
- org.springframework.beans.factory.BeanDefinitionStoreException: Could not resolve bean definition re
- spring bean beanDefinition instance(scope) 的关系
- 死磕Spring系列之二,bean标签的解析和BeanDefinition的注册
- Spring 源码阅读 BeanFactory(二) 之registerBeanDefinition方法
- Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition w
- org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'd
- Spring中的Bean标签的所有元素和属性BeanDefinitionParserDelegate
- 一、从 BeanDefinitionParserDelegate 解析xml bean元素,查看bean的各个属性(Spring3.2.12)
- Spring BeanFactory、ApplicationContext层次结构和BeanDefinition解析过程
- org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized xbean element mapping: beans in namespace h
- (spring-第6回【IoC基础篇】)BeanDefinition——实例化Bean之前的第一大利器。
- 【spring源码分析】BeanDefinitionRegistryPostProcessor接口可自定义bean加入IOC
- Spring 3.2 源码解析 -- XML bean 元素到 BeanDefinition 解析过程
- 理解spring的BeanDefinition和配置文件(原文标题:动态注册bean到spring容器)