SpringBoot源码之ListableBeanFactory

ListableBeanFactory是Spring中扩展BeanFactory的接口,用于枚举所有bean实例,而不局限于按需查询。它提供了一系列方法如getBeanDefinitionCount、getBeanDefinitionNames等,用于获取bean定义的数量和名称,且不考虑BeanFactory层次结构。这些方法不适用于频繁调用,因为可能较慢。此外,接口还涉及FactoryBean的处理,以及根据类型和注解查找bean的功能。
摘要由CSDN通过智能技术生成

ListableBeanFactory是BeanFactory的子类,对BeanFactory进行扩展,由可以枚举所有bean实例的bean工厂实现,而不是按客户端要求按Bean名称逐个查询bean。

预加载所有bean定义(例如基于XML的工厂)的Bean工厂实现可以实现此接口。

如果这是一个{@link HierarchicalBeanFactory},返回值将不考虑任何BeanFactory层次结构,但是仅与当前工厂中定义的bean相关。

使用{@ Link BeanFactoryUtils}助手类也可以考虑祖先工厂中的bean。

此接口中的方法将仅关心该工厂的bean定义。它们将忽略任何其他已被其他方式注册的单例bean。

BeanFactory的{@代码GetBean }也允许对这种特殊bean的透明访问。然而,在典型的场景中,所有bean都将由外部bean定义来定义,因此大多数应用程序不需要担心这种差异。

除了{@code getBeanDefinitionCount}和{@code containsBeanDefinition}该接口中的方法不是为频繁调用而设计的。实现可能是缓慢的

boolean containsBeanDefinition(String beanName);检查此bean工厂是否包含具有给定名称的bean定义,不考虑此工厂可能参与的任何层次结构,并忽略通过bean定义以外的其他方法注册的任何单例bean。

 

int getBeanDefinitionCount();返回工厂中定义的bean的数量。不考虑此工厂可能参与的任何层次结构,并忽略通过bean定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值