BeanFactory和ApplicationContext联系和区别
2017-01-23 14:00
483 查看
在Srping Ioc容器中,有BeanFactory和ApplicationContext两个系列,分别是:
实现BeanFactory接口的简单容器,具备最基本功能。
实现ApplicationContext接口的复杂容器,具备高级功能。
BeanFactory:基本规范,比如说getBean()这样的方法。
HierarchicalBeanFactory:管理双亲IoC容器规范,比如说getParentBeanFactory()这样的方法。
ConfigurableBeanFactory:对BeanFactory的配置功能,比如通过setParentBeanFactory()设置双亲IoC容器,通过addBeanPostProcessor()配置Bean后置处理器。
ListableBeanFactory:细化了许多BeanFactory的功能,比如说getBeanDefinitionNames()。
ApplicationContext:通过继承MessageSource、ResourceLoader、ApplicationEventPublisher接口,添加了许多高级特性。
实现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接口,添加了许多高级特性。
相关文章推荐
- Spring中的beanFactory和applicationContext的联系和区别
- Spring中的beanFactory和applicationContext的联系和区别
- Spring中的beanFactory和applicationContext的联系和区别
- spring几种依赖注入方式以及ref-local/bean,factory-bean,factory-method区别联系
- Spring中的beanFactory和applicationContext的联系和区别
- 理解spring中的BeanFactory和FactoryBean的区别与联系
- Spring中的beanFactory和applicationContext的联系和区别
- 理解spring中的BeanFactory和FactoryBean的区别与联系
- 理解spring中的BeanFactory和FactoryBean的区别与联系
- 【Spring】普通bean、FactoryBean、BeanFactory的区别与联系
- Spring中的beanFactory和applicationContext的联系和区别
- Spring中的beanFactory和applicationContext的联系和区别
- Spring中的beanFactory和applicationContext的联系和区别
- ApplicationContext与BeanFactory的最大区别
- AnnotationSessionFactoryBean和LocalSessionFactoryBean的区别
- Spring 学习手札(三)BeanFactory与ApplicationContext的区别
- BeanFactoryPostProcessor和BeanPostProcessor的区别
- Spring中BeanFactory和ApplicationContext的区别
- Spring中BeanFactory与ApplicationContext的区别
- java面试题三:spring中的BeanFactory与ApplicationContext的作用和区别?