您的位置:首页 > 移动开发

BeanFactory和ApplicationContext联系和区别

2017-01-23 14:00 483 查看
在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接口,添加了许多高级特性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: