Spring Factory各接口职责划分

Spring本质是一个Bean的工厂和容器,它的接口定义并没有用一个统一的接口全部覆盖所有方法,而是进行分层设计。

第一层

BeanFactory,基础容器,提供了Bean的获取、类型判断等方法

第二层

第三方集成,继承体系,Bean的遍历

1)AutowireCapableBeanFactory

添加集成其他框架功能,如果集成WebWork则可以使用Spring对Actions等进行管理.

2)HierarchicalBeanFactory

提供父容器的访问功能

3)ListableBeanFactory 提供容器内bean实例的枚举功能.这边不会考虑父容器内的实例.

第三层

bean的配置相关功能。ConfigurableBeanFactory 如名,提供factory的配置功能

第四层

配置+迭代。ConfigurableListableBeanFactory 集大成者,提供解析,修改bean定义,并与初始化单例.

 

下图清晰的展示了各层级的职责划分

 

Spring Factory各接口职责划分