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定义