当前位置: 首页 > news >正文

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

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对象。

http://www.lryc.cn/news/35696.html

相关文章:

  • 分享一个 hive on spark 模式下使用 HikariCP 数据库连接池造成的资源泄露问题
  • MySQL 行锁
  • 成为AI架构师的三大能力
  • 博客系统 实现 (前端 + 后端 )代码
  • C语言:如何在cmd命令窗口上玩贪吃蛇游戏
  • Flutter-自定义图标
  • 教学场景应用视频试看预览功能
  • 关于进程与进程调度
  • Redis常用命令及数据类型参数
  • (七十四)大白话深入探索多表关联的SQL语句到底是如何执行的?(2)
  • 销售使用CRM系统集成Excel的五个技巧
  • 过来人告诉你:Java学到什么程度可以找工作?
  • 【Linux】目录结构
  • 37.Java进阶之实现动态编译
  • 【Python百日进阶-Web开发-Vue3】Day549 - Vue3 商城后台 09:Veux4-01基本概念
  • GitLab 解析:为什么市场正在转向一体化 DevSecOps 平台?(附Forrester完整报告下载)
  • ThreadLocal的内部结构和源码探究
  • Linux文件系统(下)
  • 合并链表相关的练习
  • FFmpeg介绍及入门知识
  • ASA材料3D打印服务 抗紫外线材料3D打印服务 抗紫外线模型制作-CASAIM中科院广州电子
  • MySQL workbench数据表和数据结构
  • 网络与信息安全岗位介绍—售后工程师
  • Nowcoder .链表分割
  • 猿创征文 | re:Invent 朝圣之路:“云“行业风向标
  • mysql的distinct和group by的区别
  • Web前端:前端开发人员的职责有哪些?
  • BatchNorm1d的复现以及对参数num_features的理解
  • 【专项训练】动态规划-1
  • 软测面试了一个00后,绝对能称为是内卷届的天花板