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