请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?

BeanFactory:

是spring中比较原始,比较古老的Factory。因为比较古老,所以BeanFactory无法支持spring插件。例如:AOP、web应用等功能。

AppliactionContext:

是BeanFactory的子类,基本上代替了BeanFactory的工作。以一种更面向框架的工作方式以及对上下文进行分层和实现继承,并在这个基础上对功能进行扩展:

①MessageSource,提供国际化的消息访问。

②资源访问:URL和文件等。

③事件传递。

④Bean的自动装配。

⑤各种不同的应用层的Context实现。

区别:

①如果使用ApplicationContext,如果配置的Bean是Singleton单例,那么不管你有没有或想不想用它,它都会被实例化。好处是可以预先加载,坏处是浪费内存。

②BeanFactory,当使用BeanFactory实例化对象时,配置的Bean不会被马上实例化(懒加载),而是等到你使用bean的时候才会被实例化。好处是节约内存,坏处是速度比较慢。多用于移动设备的开发。

③没有特殊要求的情况下,应该使用ApplicationContext完成。因为BeanFactory能完成的事情,ApplicationContext都能完成,并且提供了更加丰富的功能

请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?相关推荐

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

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

  2. Spring中 BeanFactory 与 FactoryBean 的区别

    作者:叁滴水 blog.csdn.net/qq_30285985/article/details/115433099 文章目录 前言 为什么会有FactoryBean? 通过源码深入学习Factory ...

  3. Spring中BeanFactory和FactoryBean的区别

    先介绍一下Spring的IOC容器到底是个什么东西,都说是一个控制反转的容器,将对象的控制权交给IOC容器,其实在看了源代码之后,就会发现IOC容器只是一个存储单例的一个ConcurrentHashM ...

  4. Spring中ApplicationContext和beanfactory区别

    BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP ...

  5. Spring - Java/J2EE Application Framework 应用框架 第 3 章 Beans, BeanFactory和ApplicationContext

    第 3 章 Beans, BeanFactory和ApplicationContext 3.1. 简介 在Spring中,两个最基本最重要的包是 org.springframework.beans 和 ...

  6. spring扩展点之二:spring中关于bean初始化、销毁等使用汇总,ApplicationContextAware将ApplicationContext注入...

    <spring扩展点之二:spring中关于bean初始化.销毁等使用汇总,ApplicationContextAware将ApplicationContext注入> <spring ...

  7. java基础巩固-宇宙第一AiYWM:为了维持生计,Spring全家桶_Part1-5(学学Spring源码呗:BeanFactory与ApplicationContext的暗潮涌动与争风吃醋)~整起

    上一集说到,天色渐暗- BeanFactory接口说:一大堆XxxFactory,都跟我有关,我好累呀[BeanFacotry作为Spring中容器功能的基础,用于存放所有已经加载的bean]. Xm ...

  8. 浅谈Spring中的BeanFactory与FactoryBean

    前言 理解FactoryBean是非常非常有必要的,因为在Spring中FactoryBean最为典型的一个应用就是用来创建AOP的代理对象,不仅如此,而且对理解Mybatis核心源码也非常有帮助!如 ...

  9. Spring原理学习(一):BeanFactory和ApplicationContext的原理和实现

    目录 一.BeanFactory和ApplicationContext的关系 二.BeanFactory的功能 三.ApplicationContext的功能 3.1 MessageSource 3. ...

最新文章

  1. In order to use Instant Run with this device running API 26, you must install platform API 26 in you
  2. JAVA基础8-封装(2)
  3. 探索.NET中事件机制(续)——虚事件和事件重写问题,微软的Bug?!
  4. 自动飞行控制系统_波音737MAX,安全评估竟是自己做的!飞行员仅用iPad学习驾驶!...
  5. 重新组织函数--《重构》阅读笔记
  6. 数据结结构学习 ---赫夫曼树
  7. 映像劫持技术(2):实例
  8. Windows/Android/IOS平台如何在Unity3d播放RTSP/RTMP流
  9. ORACLE数据库表空间查询
  10. 根据表格长度使td里的内容换行
  11. silverlight 实现全屏
  12. PHP上传文件大小限制的问题
  13. InnoDB 存储引擎(8)——InnoDB 存储引擎文件
  14. 使用openssl 来生成rsa pkcs1 2048格式的公私钥
  15. python往npy写入数据_数据存储在*.npy中的方式是什么?
  16. 尼古拉·特斯拉16句经典名言
  17. 2022年烷基化工艺找解析及烷基化工艺考试总结
  18. 从微信浏览器跳转到手机浏览器(ios和android)
  19. iocomp ActiveX/VCL各版本大比拼之Crack
  20. Via浏览器怎么查看网页源码

热门文章

  1. 【深度学习】深度学习中的单元测试
  2. 【论文解读】KDD20 | 图神经网络在生物医药领域的应用
  3. 【零基础入门数据挖掘】-模型融合
  4. 【技术干货】TC基础与自动化
  5. 如何保证IM实时消息的“时序性”与“一致性”?
  6. javascript返回上一页的三种写法
  7. 【Android Studio安装部署系列】十八、Android studio更换APP应用图标
  8. linux下基于lvs-dr模式的电子商务平台搭建
  9. web设计师和前端设计师的互动—前端工程师应该具备的三种思维
  10. 大学毕业出路利弊浅谈