Spring Factory各接口职责划分
Spring本质是一个Bean的工厂和容器,它的接口定义并没有用一个统一的接口全部覆盖所有方法,而是进行分层设计。
第一层
BeanFactory,基础容器,提供了Bean的获取、类型判断等方法
第二层
第三方集成,继承体系,Bean的遍历
1)AutowireCapableBeanFactory
添加集成其他框架功能,如果集成WebWork则可以使用Spring对Actions等进行管理.
2)HierarchicalBeanFactory
提供父容器的访问功能
3)ListableBeanFactory 提供容器内bean实例的枚举功能.这边不会考虑父容器内的实例.
第三层
bean的配置相关功能。ConfigurableBeanFactory 如名,提供factory的配置功能
第四层
配置+迭代。ConfigurableListableBeanFactory 集大成者,提供解析,修改bean定义,并与初始化单例.
下图清晰的展示了各层级的职责划分