BeanFactory和ApplicationContext联系和区别

在Srping Ioc容器中,有BeanFactory和ApplicationContext两个系列,分别是:

  • 实现BeanFactory接口的简单容器,具备最基本功能。
  • 实现ApplicationContext接口的复杂容器,具备高级功能。

IoC容器的主要接口关系图

这里写图片描述

BeanFactory设计路径

BeanFactory -> HierarchicalBeanFactory -> ConfigurableBeanFactory,是一个主要的BeanFactory设计路径。

  • BeanFactory:基本规范,比如说getBean()这样的方法。
  • HierarchicalBeanFactory:管理双亲IoC容器规范,比如说getParentBeanFactory()这样的方法。
  • ConfigurableBeanFactory:对BeanFactory的配置功能,比如通过setParentBeanFactory()设置双亲IoC容器,通过addBeanPostProcessor()配置Bean后置处理器。

ApplicationContext设计路径

BeanFactory -> ListableBeanFactory 和 HierarchicalBeanFactory -> ApplicationContext -> ConfigurableApplicationContext,是另外一个主要的ApplicationContext设计路径。

  • ListableBeanFactory:细化了许多BeanFactory的功能,比如说getBeanDefinitionNames()。
  • ApplicationContext:通过继承MessageSource、ResourceLoader、ApplicationEventPublisher接口,添加了许多高级特性。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/laiwenqiang/article/details/54693069
个人分类: 【Spring】
所属专栏: Spring解析
上一篇集合类图
下一篇Spring 自定义xsd
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭