spring的beanfactory与applicationContext的区别以及继承关系

文章探讨了Spring框架中的ApplicationContext接口及其与BeanFactory的区别。ApplicationContext提供了更多的功能,如国际化支持、事件发布、资源加载和环境接口。它有多种实现,包括用于注解配置和XML配置的类。与BeanFactory不同,ApplicationContext在加载配置时即初始化bean对象。
摘要由CSDN通过智能技术生成

applicationContext继承关系

首先可以看一张图
在这里插入图片描述

ListableBeanFactory                 可列举的bean工厂
hierarchical                        分层bean工厂
messageSource                       国际化信息
//国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有"地域"语言,国家/地区和文化相关的"元素"。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其"代码"简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。
ApplicationEventPublisher           应用事件发布器,封装事件发布功能的接口。
ResourcePatternPesolver             加载多个资源加载器
EnvironmentCapable                  环境接口

applicationContext的实现类

在这里插入图片描述
对于applicationContext的实现类,我们常用的三个

AnnotationConfigApplicationContext   加载注解配置类的ApplicationContext
ClassPathXmlApplicationContext       加载类路径下的xml的ApplicationContext
FileSystemXmlApplicationContext      加载磁盘路径下的xml的ApplicationContext

当然在springMVC中还有web相关的applicationContext
在这里插入图片描述

同样的也是一个注解的配置和一个xml的配置

applicationContext和beanFactory区别

我们可以很清晰的看到applicationContext在beanFactory的基础上对功能进行了极大的增强。

然后通过断点调试,我们还可以看到applicationContext内部还维护了一个beanFactory
在这里插入图片描述
所以二者之间既有继承又有融合

二者的bean对象的初始化时间也不同
beanFactory只有在第一次调用getbean方法时才会创建bean对象,而applicationContext则是在配置文件加载完毕后就创建了bean对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风过于前

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值