Spring BeanFactory 容器

这是一个最基本的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframework.beans.factory.BeanFactory中被定义。

BeanFactory 相关的接口,如

  • BeanFactoryAware
  • DisposableBean
  • InitializingBean,

这些仍旧保留在 Spring 中,主要目的是向后兼容已经存在的和那些 Spring 整合在一起的第三方框架。

BeanFactory接口:

 是Spring bean容器的根接口,提供获取bean,是否包含bean,是否单例与原型,获取bean类型,bean 别名的方法 。它最主要的方法就是getBean(String beanName)。

BeanFactory的三个子接口

  • HierarchicalBeanFactory:提供父容器的访问功能

  • ListableBeanFactory:提供了批量获取Bean的方法

  • AutowireCapableBeanFactory:在BeanFactory基础上实现对已存在实例的管理

ConfigurableBeanFactory:

主要单例bean的注册,生成实例,以及统计单例bean

ConfigurableListableBeanFactory:

继承了上述的所有接口,增加了其他功能:比如类加载器,类型转化,属性编辑器,BeanPostProcessor,作用域,bean定义,处理bean依赖关系, bean如何销毁…

实现类DefaultListableBeanFactory详细介绍:

实现了ConfigurableListableBeanFactory,实现上述BeanFactory所有功能。它还可以注册BeanDefinition