1、BeanFactory
Spring Bean 的创建是典型的工厂模式,这一系列的 Bean 工厂,也即 IOC 容器为开发者管理对象
间的依赖关系提供了很多便利和基础服务,类图关系如下:
BeanFactory 作为最顶层的一个接口类,它定义了 IOC 容器的基本功能规范;
子类: ListableBeanFactory, HierarchicalBeanFactor, AutowireCapableBeanFactory
从类图中我们可以发现最终的默认实现类是 DefaultListableBeanFactory,它实现了所有的接口。那为何要定义这么多层次的接口呢?查阅这些接口的源码和说明发现,每个接口都有它使用的场合,它主要是为了区分在 Spring 内部在操作过程中对象的传递和转化过程时,对对象的数据访问所做的限制。
ListableBeanFactory: 接口表示这些 Bean 是可列表化的
HierarchicalBeanFactory:表示的是这些 Bean 是有继承关系的,也就是每个 Bean 有可能有父 Bean
AutowireCapableBeanFactory