ListableBeanFactory
ListableBeanFactory
是beanFactory
接口的扩展接口,它可以枚举所有的bean实例,而不是客户端通过名称一个一个的查询得出所有的实例。要预加载所有的bean定义的beanfactory
可以实现这个接口来。该 接口定义了访问容器中Bean基本信息的若干方法,如查看Bean的个数、获取某一类型Bean的配置名、查看容器中是否包括某一Bean等方法。
public interface ListableBeanFactory extends BeanFactory {
boolean containsBeanDefinition(String var1);
//获取BeanDefinition的总数
int getBeanDefinitionCount();
//获取Bean名字的集合
String[] getBeanDefinitionNames();
//获取指定类型Bean名字的集合
String[] getBeanNamesForType(ResolvableType var1);
String[] getBeanNamesForType(@Nullable Class<?> var1);
String[] getBeanNamesForType(@Nullable Class<?> var1, boolean var2, boolean var3);
//根据类型(包括子类)返回指定Bean名和Bean的Map
<T> Map<String, T> getBeansOfType(@Nullable Class<T> var1) throws BeansException;
<T> Map<String, T> getBeansOfType(@Nullable Class<T> var1, boolean var2, boolean var3) throws BeansException;
//根据注解类型,查找Bean
String[] getBeanNamesForAnnotation(Class<? extends Annotation> var1);
//根据注解类型,查找Bean名和Bean的Map
Map<String, Object> getBeansWithAnnotation(Class<? extends Annotation> var1) throws BeansException;
@Nullable
<A extends Annotation> A findAnnotationOnBean(String var1, Class<A> var2) throws NoSuchBeanDefinitionException;
}