Spring源码(六)--BeanFactory 实现与继承关系

BeanFactory 实现与继承关系

这些接口和类的源码, 每一个都可以看一下。
请添加图片描述

ListableBeanFactory

由bean工厂实现的BeanFactory接口的扩展,这些bean工厂可以枚举它们所有的bean实例,而不是按客户端请求逐个按名称进行bean查找。

HierarchicalBeanFactory

由bean工厂实现的子接口,可以是层次结构的一部分。

父子级联 IoC 容器的接口,子容器可以通过接口方法访问父容器; 通过 HierarchicalBeanFactory 接口,
Spring 的 IoC 容器可以建立父子层级关联的容器体系,子容器可以访问父容器中的 Bean,但父容器不能访问子容器的 Bean。

ConfigurableBeanFactory

由大多数bean工厂实现的配置接口。
这个扩展的接口只是为了允许框架内部的即插即用和对bean工厂配置方法的特殊访问。

ConfigurableBeanFactory继承了 HierarchicalBeanFactory 和 SingletonBeanRegistry。

public interface ConfigurableBeanFactory extends HierarchicalBeanFactory, SingletonBeanRegistry {

}

AutowireCapableBeanFactory

BeanFactory的扩展接口,实现该接口能够自动装配。
AutowireCapableBeanFactory 定义了将容器中的 Bean 按某种规则(如按名字匹配、按类型匹配等)进行自动装配的方法。

SingletonBeanRegistry

定义了共享bean实例的注册中心。


	/**
	 * 在bean注册中心通过bean名称将提供的对象注册为单例对象。提供的对象需要被完全初始化。
	 */
	void registerSingleton(String beanName, Object singletonObject);

	/**
	 * 返回以给定名称注册的(原始)单例对象
	 */
	@Nullable
	Object getSingleton(String beanName);

	/**
	 *  检查此注册表是否包含具有给定名称的单例实例。
	 * 
	 */
	boolean containsSingleton(String beanName);

	/**
	 * 返回在此注册中心中注册的单例bean的名称。
	 * 
	 */
	String[] getSingletonNames();

	/**
	 * 返回在此注册中心中注册的单例bean的数量。
	 */
	int getSingletonCount();

	/**
	 * 返回使用的单例互斥锁.
	 * 
	 */
	Object getSingletonMutex();

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值