BeanFactory和ApplicationContext的区别
BeanFactory和ApplicationContext的区别
1.BeanFactory
BeanFactory是Spring里面最底层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能;
2.ApplicationContext
ApplicationContext应用上下文,继承BeanFactory接口,它是Spring的一各更高级的容器,提供了更多的有用的功能;
3.BeanFactory和ApplicationContext的不同点
BeanFactory和ApplicationContext是spring的两大核心接口,都可以作为spring的容器,其中ApplicationContext是BeanFactory的子接口。不同点分为以下几个方面:
(1)依赖关系
BeanFactory:是spring最底层的接口,包含了各种Bean的定义、读取bean的配置文档、管理bean的加载、实例化、控制bean的生命周期、维护bean之间的依赖关系。
ApplicationContext接口作为BeanFactory的派生,提供BeanFactory所具有的功能外,还提供了更完整的框架功能。继承了MessageSource,支持国际化,统一资源文件访问的方式。提供在监听器中注册bean事件。同时加载多个配置文件。载入多个上下文。
(2)加载方式
BeanFactory采用的是延迟加载注入bean,即只用使用到某个bean的时候,才对该Bean进行加载实例化,如果这样,我们就不能发现一些存在的spring配置问题,只有调用getBean方法时才会抛出异常。
ApplicationContext,它是在容器启动时,一次性创建了所有的bean,这样,在容器启动时,我们就可以发现spring中存在的配置错误。
相对于基本的BeanFactory,ApplicationContext唯一的不足是占用内存空间,当应用程序配置Bean较多时,程序启动会很慢。
(3)创建方式
BeanFactory通常以编程的方式创建,ApplicationCotext还能以声明的方式创建。
(4)注册方式
BeanFactory,ApplicationCotext都支持BeanPostProcessor, BeanFactoryPostProcessor的使用,两者区别在于BeanFactory需要手动注册,ApplicationContext是自动注册。
BeanFactory和ApplicationContext的区别相关推荐
- BeanFactory与ApplicationContext的区别
BeanFactory与ApplicationContext的区别? 一.BeanFactory和ApplicationContext 接口及其子类图 二.概述 BeanFactory和Applica ...
- 还不知道BeanFactory和ApplicationContext的区别?
点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 转载自公众号:日拱一兵 关注我,回复口令获取可获取独家整理的学习资料: - 001:领取<Spr ...
- BeanFactory 和 ApplicationContext的区别
注:ApplicationContext会预先的将bean的定义加载和创建完成,如果注入不成功,会抛异常,BeanFacotry,等着调用getBean()方法的时候,才报异常. Bean ...
- spring学习笔记01-BeanFactory和ApplicationContext的区别
spring学习笔记01-BeanFactory和ApplicationContext的区别 BeanFactory 和 ApplicationContext 的区别 BeanFa ...
- Spring的三大核心接口——BeanFactory、ApplicationContext、WebApplicationContext
之前也在用这三个接口,但是对于他们的概念还是处于朦胧状态,同时,也不知道他们之间是一个什么关系,趁着现在有点时间总结一下吧,也需要对你有所帮助. 一.BeanFactory 基本认识: ...
- [读书笔记]Spring中BeanFactory和ApplicationContext的联系和区别
写在前言 依赖反转是指依赖对象的获得被反转了.依赖控制反转的实现有很多方式,Spring中IOC容器是实现这个模式的载体,它可以在对象生成或初始化时直接将数据注入到对象中,也可以通过将对象引用注入到对 ...
- BeanFactory和applicationContext区别
BeanFactory和applicationContext BeanFactory: 是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理bean的加载.实例化,控制 ...
- BeanFactory和ApplicationContext接口的联系和区别
使用BeanFactory从xml配置文件加载bean: import org.springframework.beans.factory.xml.XmlBeanFactory; import org ...
- BeanFactory 和 ApplicationContext 两个容器的区别与联系
BeanFactory 是最简单的容器,由 org.springframework.beans.factory.BeanFactory 接口定义,采用懒加载(lazy-load),所以容器启动比较快. ...
最新文章
- 无人车时代:用深度学习辅助行人检测
- java设计模式---单例模式
- ghost linux 全盘拷贝,如何用ghost实现小硬盘对大硬盘的全盘拷贝?
- python gevent模块 下载_Python中的多任务,并行,并发,多线程,多进程,协程区别...
- MySQL 处理重复数据
- 【华为云技术分享】云图说 | 华为云智能边缘平台IEF:智能边缘 让AI触手可及
- matlab运动前无轨迹线,matlab 前轮前驱运动模型公式 和 轨迹仿真
- 给csdn主页添加个人联系方式或二维码
- 相机标定(六)—— 张正友标定法
- 毕设题目:Matlab图像边缘检测
- steam安装包_Steam已经绑定了令牌,为什么还会频繁被盗?
- FTP下载工具的使用
- ORAN专题系列-21:主要的玩家(设备商)以及他们各自的态度、擅长领域
- Source Insight——C/C++代码阅读器
- 20T数据迁移经验:手把手教你群晖NAS数据迁移,黑裙晖通用!
- 就在刚刚 Kubernetes 1.25 正式发布,包括这些重大变化
- 谁在用琵琶弹奏一曲东风破
- 49个项目管理过程ITTO整理(详细)
- 实地地产借助联想企业网盘构建信息化,重塑地产行业新未来
- 【实用技巧】MAC苹果电脑怎么远程?
热门文章
- vue-excel导出-单表头,多表头导出,Export2Excel.js Blob.js
- php微博cookie获取,python模拟新浪微博登陆之获取cookies-Go语言中文社区
- win10 条件下在anaconda中安装face_recognition(超简单,亲测有效)
- 李飞飞团队新研究登Nature子刊!实现可信 AI,数据的设计、完善、评估是关键!...
- Question2Answer 安全
- 考微软认证 MCAD for C#
- 爆料142条,准确度78.2%,他堪称“苹果爆料王”
- Postgresql opm监控工具部署
- Unity 实时显示帧率
- 微信公众号授权,支付,退款总结