spring ioc DefaultListableBeanFactory类结构解析

环境配置

  1. git clone https://github.com/spring-projects/spring-framework
  2. 安装jdk8
  3. gradle build,https://github.com/spring-projects/spring-framework/wiki/Build-from-Source
  4. idea打开,https://github.com/spring-projects/spring-framework/blob/master/import-into-idea.md

DefaultListableBeanFactory类继承结构

在这里插入图片描述
DefaultListableBeanFactory这个类继承自两个部分,分别是BeanFactory和beandefinitionregistry。
BeanFactory是一个创建、获取bean的容器,beandefinitionregistry是一个存放beandefinition的map。
下面的类,有的是功能扩展:

BeanFactory:获取bean
HierarchicalBeanFactory:获得父beanfactory
ListableBeanFactory:通过type、注解等查找bean
ConfigurableBeanFactory:设置beanfactory的一些属性,例如parent beanfactory,(所以继承了HierarchicalBeanFactory)、classloader、解析器、scope
AutowireCapableBeanFactory:增加了可以自动装载的
ConfigurableListableBeanFactory:集大成者,合并接口,再增加一些补充功能
SingletonBeanRegistry:用于单例bean的获取注册,可以通过BeanFactory的接口实现,是容器暴露单例bean的接口

对内的功能提供:

FactoryBeanRegistrySupport:提供从factorybean的获取object的操作,这个类的操作都是protected,用来给子类提供服务,不对外开放
AbstractBeanFactory:给BeanWrapper注册属性编辑器、获取getMergedLocalBeanDefinition、通过beandefinition解析BeanClass

实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值