ApplicationContext是BeanFactory的子接口。

ApplicationContext提供了更完整的功能:

1、继承MessageSource,因此支持国际化。

2、统一的资源文件访问方式。

3、提供在监听器中注册Bean的事件。

4、同时加载多个配置文件。

5、载入多个(有继承关系)上下文,使得每个上下文都专注于一个特定的层次,比如应用的Web层。

  • BeanFactory采用的是延迟加载形式来注入Bean的,即只有在使用到某个Bean时(调用getBean),才对该Bean进行加载实例化。这样,我们就不能发现一些存在的Spring配置问题。如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常。
  • ApplicationContext,它时在容器启动时,一次性创建了所有的Bean。这样,在容器启动时,我们就可以发现Spring中存在的配置错误,这样有利于检查所依赖属性是否注入。ApplicationContext启动后预载入所有的单例Bean,通过预载入单例Bean,确保当你需要的时候,你就不用等待,因为它们已经创建好了。
  • 相对于基本的BeanFactory,ApplicationContext唯一的不足是占用内存空间。当应用程序配置Bean较多时,程序启动较慢。
  • BeanFactory通常以编程的方式被创建,ApplicationContext还能以声明的方式创建,如使用ContextLoader.
  • BeanFactory和ApplicationContext都支持BeanPostProcessor、BeanFactoryProcessor的使用,但两者之间的区别是:BeanFactory需要手动注册,而ApplicationContext则是自动注册。

谈谈面试题之BeanFactory和ApplicationContext有什么区别?相关推荐

  1. BeanFactory和ApplicationContext有什么区别?

    BeanFactory: 是Spring里面最底层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能 ApplicationContext: 应用上下文,继承BeanFactory接口 ...

  2. BeanFactory 和ApplicationContext 有什么区别?

    BeanFactory 可以理解为含有bean 集合的工厂类.BeanFactory 包含了种bean 的定义,以便在接收到客户端请求时将对应的bean 实例化. BeanFactory 还能在实例化 ...

  3. BeanFactory和ApplicationContext有什么区别

  4. Spring 的IOC容器系列的设计与实现:BeanFactory 和 ApplicationContext

    在Spring IOC容器的设计中,我们可以看到两个主要的容器系列,一个是实现BeanFactory接口的简单容器系列,这系列容器只实现了容器的最基本的功能,另一个是ApplicationContex ...

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

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

  6. 【Spring】IoC容器系列的设计与实现:BeanFactory和ApplicationContext

    在Spring IoC容器的设计中,我们可以看到两个主要的容器系列,一个是实现BeanFactory接口的简单容器系列,这系列容器只实现了容器的最基本功能,另一个是ApplicationContext ...

  7. factorybean 声明_阿里面试题:BeanFactory与FactoryBean的区别

    作者:至尊宝 来源:cnblogs.com/aspirant/p/9082858.html BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的 ...

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

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

  9. Spring系列之beanFactory与ApplicationContext

    一.BeanFactory BeanFactory 是 Spring 的"心脏".它就是 Spring IoC 容器的真面目.Spring 使用 BeanFactory 来实例化. ...

最新文章

  1. python requests max retries_我可以为request.request设置max_retries吗?
  2. mysql中取出的时间日期多个.0
  3. linux下kvm设备配置,Linux下为KVM 配置桥接设备
  4. Linux产生随机数的几种常见方法
  5. 24款非常实用的CSS3工具终极收藏
  6. python向上取整_Python 之 向上取整、向下取整以及四舍五入函数
  7. iOS工程中的info.plist文件的完整研究
  8. 【Vue.js学习】生命周期及数据绑定
  9. vue 全家桶 - 前端工程化
  10. 浅谈数据结构之主席树(线段树进阶版)
  11. 【Flink】java.lang.NumberFormatException: Not a version: 9
  12. 2008年不错的图书
  13. 项目开发中自定义字段设计原则
  14. 手机中如何处理Excel格式转换PDF格式
  15. 详解Guitar Pro 7导入吉他谱的步骤
  16. 4G+5G多卡聚合(弱网通信)路由器视频传输最佳选择
  17. 使用Python编写一个QQ聊天机器人
  18. 应届生年薪 40w 在杭州可以过上什么样的生活?
  19. FlowJO X 流式补偿调整
  20. 元宇宙研讨会-空间设计与交互技术构造的叙事世界

热门文章

  1. ROS机器人驱动板(含原理图以及PCB)已经打板测试且正在使用
  2. 汇聚数据库创新力量 GBASE携手openGauss助企业数字化转型
  3. En-Tan-Mo(ETM)项目周报(8.23-8.29)
  4. 滴滴oracle,滴滴-数据分析
  5. AIOT产业技术全景结构-数字化架构设计(8)
  6. ATH(阿里、腾讯、华为)三家云服务器厂商对比
  7. 市场主流性能测试工具简介
  8. 重点人口动态管控轨迹分析系统开发,可视化大数据平台建设
  9. LocalBroadcastManager已被废弃
  10. UPC 2020年夏混合个人训练第七十五场