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的区别相关推荐

  1. BeanFactory与ApplicationContext的区别

    BeanFactory与ApplicationContext的区别? 一.BeanFactory和ApplicationContext 接口及其子类图 二.概述 BeanFactory和Applica ...

  2. 还不知道BeanFactory和ApplicationContext的区别?

    点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 转载自公众号:日拱一兵 关注我,回复口令获取可获取独家整理的学习资料: - 001:领取<Spr ...

  3. BeanFactory 和 ApplicationContext的区别

    ​​​​​​注:ApplicationContext会预先的将bean的定义加载和创建完成,如果注入不成功,会抛异常,BeanFacotry,等着调用getBean()方法的时候,才报异常. Bean ...

  4. spring学习笔记01-BeanFactory和ApplicationContext的区别

    spring学习笔记01-BeanFactory和ApplicationContext的区别 BeanFactory 和 ApplicationContext 的区别           BeanFa ...

  5. Spring的三大核心接口——BeanFactory、ApplicationContext、WebApplicationContext

    之前也在用这三个接口,但是对于他们的概念还是处于朦胧状态,同时,也不知道他们之间是一个什么关系,趁着现在有点时间总结一下吧,也需要对你有所帮助. 一.BeanFactory        基本认识: ...

  6. [读书笔记]Spring中BeanFactory和ApplicationContext的联系和区别

    写在前言 依赖反转是指依赖对象的获得被反转了.依赖控制反转的实现有很多方式,Spring中IOC容器是实现这个模式的载体,它可以在对象生成或初始化时直接将数据注入到对象中,也可以通过将对象引用注入到对 ...

  7. BeanFactory和applicationContext区别

    BeanFactory和applicationContext BeanFactory: 是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理bean的加载.实例化,控制 ...

  8. BeanFactory和ApplicationContext接口的联系和区别

    使用BeanFactory从xml配置文件加载bean: import org.springframework.beans.factory.xml.XmlBeanFactory; import org ...

  9. BeanFactory 和 ApplicationContext 两个容器的区别与联系

    BeanFactory 是最简单的容器,由 org.springframework.beans.factory.BeanFactory 接口定义,采用懒加载(lazy-load),所以容器启动比较快. ...

最新文章

  1. 无人车时代:用深度学习辅助行人检测
  2. java设计模式---单例模式
  3. ghost linux 全盘拷贝,如何用ghost实现小硬盘对大硬盘的全盘拷贝?
  4. python gevent模块 下载_Python中的多任务,并行,并发,多线程,多进程,协程区别...
  5. MySQL 处理重复数据
  6. 【华为云技术分享】云图说 | 华为云智能边缘平台IEF:智能边缘 让AI触手可及
  7. matlab运动前无轨迹线,matlab 前轮前驱运动模型公式 和 轨迹仿真
  8. 给csdn主页添加个人联系方式或二维码
  9. 相机标定(六)—— 张正友标定法
  10. 毕设题目:Matlab图像边缘检测
  11. steam安装包_Steam已经绑定了令牌,为什么还会频繁被盗?
  12. FTP下载工具的使用
  13. ORAN专题系列-21:主要的玩家(设备商)以及他们各自的态度、擅长领域
  14. Source Insight——C/C++代码阅读器
  15. 20T数据迁移经验:手把手教你群晖NAS数据迁移,黑裙晖通用!
  16. 就在刚刚 Kubernetes 1.25 正式发布,包括这些重大变化
  17. 谁在用琵琶弹奏一曲东风破
  18. 49个项目管理过程ITTO整理(详细)
  19. 实地地产借助联想企业网盘构建信息化,重塑地产行业新未来
  20. 【实用技巧】MAC苹果电脑怎么远程?

热门文章

  1. vue-excel导出-单表头,多表头导出,Export2Excel.js Blob.js
  2. php微博cookie获取,python模拟新浪微博登陆之获取cookies-Go语言中文社区
  3. win10 条件下在anaconda中安装face_recognition(超简单,亲测有效)
  4. 李飞飞团队新研究登Nature子刊!实现可信 AI,数据的设计、完善、评估是关键!...
  5. Question2Answer 安全
  6. 考微软认证 MCAD for C#
  7. 爆料142条,准确度78.2%,他堪称“苹果爆料王”
  8. Postgresql opm监控工具部署
  9. Unity 实时显示帧率
  10. 微信公众号授权,支付,退款总结