BeanFactory和ApplicationContext联系和区别

本文介绍了Spring框架中的IoC容器核心组件BeanFactory和ApplicationContext的区别与联系,并详细解释了它们的设计路径及实现接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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接口,添加了许多高级特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值