文章目录
- Spring简单容器(以BeanFactory为主)
- Spring高级容器(以ApplicationCOntext为主)
- ListableBeanFactory
- obtainFreshBeanFactory()获取BeanFactory
- Spring源码学习:一篇搞懂@Autowire和@Resource注解的区别
Spring简单容器(以BeanFactory为主)
Spring高级容器(以ApplicationCOntext为主)
ListableBeanFactory
为了便于对象依赖注入的配置管理,Spring 容器在启动时就必须将所有用到的 Bean 实例保存在容器之中,这样就可以依靠BeanFactory 接口提供的方法获取指定的 Bean 实例,但是在一些开发的场景中,除了 Bean 本身的需求之外,也需要一些额外的配置信息,例如:同一类型的 Bean 存在的数量、容器中包含的 Bean 数量、使用指定注解 Bean 的信息等。
public interface ListableBeanFactory extends BeanFactory {boolean containsBeanDefinition(String var1);int getBeanDefinitionCount();String[] getBeanDefinitionNames();<T> ObjectProvider<T> getBeanProvider(Class<T> var1, boolean var2);<T> ObjectProvider<T> getBeanProvider(ResolvableType var1, boolean var2);String[] getBeanNamesForType(ResolvableType var1);String[] getBeanNamesForType(ResolvableType var1, boolean var2, boolean var3);String[] getBeanNamesForType(@Nullable Class<?> var1);String[] getBeanNamesForType(@Nullable Class<?> var1, boolean var2, boolean var3);<T> Map<String, T> getBeansOfType(@Nullable