Spring-IOC之DefaultListableBeanFactory

  DefaultListableBeanFactory是一个可以独立运行使用的默认IOC容器实现类。它通过与BeanDefinitionReader建立依赖关系后,在启动期间可对事先准备的元数据(Configuration MetaData,如XML配置信息等)进行加载解析,将解析后得到的BeanDefinition信息编组成BeanDefinitionHolder对象,最后再将编组对象注册到DefaultListableBeanFactory的本地缓存中。
  当DefaultListableBeanFactory拥有必要的装配信息后,可通过getBean方法获取按照装配信息所生产的Bean实例。

类结构关系和作用

在这里插入图片描述
  如上图所示,DefaultListableBeanFactory作为Bean实例的装配工厂主要由如下15个关键组件共同实现。

接口/实现类 作用和特点

BeanFactory

基础IOC容器接口,提供访问Bean实例的方法等。

HierarchicalBeanFactory

继承BeanFactory,实现BeanFactory的分层结构关系。

AutowireCapableBeanFactory

继承BeanFactory,实现Bean的自动装配功能。

ListableBeanFactory

1.继承BeanFactory,实现Bean的集合操作功能;
2.当Bean实例以散列表(Map)形式存储在容器内时,通过此接口可获取更为丰富的Bean实例信息,例如通过getBeanDefinitionCount方法获取注册在案的Bean实例个数等。

ConfigurableBeanFactory

继承HierarchicalBeanFactory,在分层基础上实现BeanFactory的配置管理功能。

ConfigurableListableBeanFactory

继承ListableBeanFactory、AutowireCapableBeanFactory和ConfigurableListableBeanFactory接口,具备这三个接口功能的同时还提供了以下功能:
1.分析和修改BeanDefinition;
2. 预先实例化单例Bean对象。

AliasRegistry

注册BeanDefinition的“别名:名称”映射信息。

SingletonBeanRegistry

注册单例Bean实例。

BeanDefinitionRegistry

注册经解析后的BeanDefinition。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值