?集合类型依赖查找接口-ListableBeanFactory
?根据Bean 类型查找
?获取同类型Bean 名称列表
?getBeanNamesForType(Class)
?Spring 4.2 getBeanNamesForType(ResolvableType)
?获取同类型Bean 实例列表 非延迟的实例
?getBeansOfType(Class) 以及重载方法
?通过注解类型查找
?Spring 3.0 获取标注类型Bean 名称列表
?getBeanNamesForAnnotation(Class<? extends Annotation>)
?Spring 3.0 获取标注类型Bean 实例列表
?getBeansWithAnnotation(Class<? extends Annotation>)
?Spring 3.0 获取指定名称+ 标注类型Bean 实例
?findAnnotationOnBean(String,Class<? extends Annotation>)
尽量不要通过类型type判断bean是否存在,会提早初始化你的bean;通过bean的名称去判断bean是否存在,重要的方式是判断beanDefinition是否存在,这种方式会避免提早初始化你的bean,产生一些不确定的因素;