Spring IOC容器其实就是BeanFactory的实例,Spring中BeanFactory的类关系结构如下图:

Spring Ioc容器核心类继承图_记录

 

从上图可以看出Beanfactory作为根接口又细化出三个二级接口,最后又有ConfigurableListableBeanFactory接口统一了这三个接口,最终有DefaultListableBeanFactory实现了上面的接口。DefaultListBeanFactory也是我们最常用的功能完整的IOC容器实现。其子类型XMLBeanFactory在Spring3.1后以标记为过时,不推荐使用。

 ApplicationContext接口作为我们最熟悉IOC接口之一,并没有实现BeanFactory的扩展的三个接口,实际上它通过聚合持有了DefaultListBeanFactory对象,从而拥有了BeanFactory的完整能力。