二.重新回炉Spring Framework:Spring Framework主要组件概览
1.写在前面的话
这里主要简单说一下Spring Framework的几个核心组件的总体情况。为了比较直观,这里使用了ClassPathXmlApplicationContext的类图来进行说明。它基本上包含了 IoC 体系中大部分的核心类和接口。类图如下图所示:

2.Resource 组件体系
Resource相关组件基本都在org.springframework.core.io包下,包括Resource和ResourceLoader。
2.1 Resource组件
Resource组件的类图如下:

它是对资源的抽象。Resource每一个实现类都代表了一种资源的访问策略,如 ClassPathResource、RLResource、FileSystemResource 等。
2.2 ResourceLoader组件
ResourceLoader主要是为了加载上面的Resource资源,类图如下:

3.BeanFactory 组件体系

BeanFactory,在org.springframework.beans.factory报下,是一个非常纯粹的 bean 容器,它是 IoC 必备的数据结构,其中 BeanDefinition 是它的基本结构。BeanFactory 内部维护着一个BeanDefinition map ,并可根据 BeanDefinition 的描述进行 bean 的创建和管理。
BeanFactory 有三个直接子类 ListableBeanFactory、HierarchicalBeanFactory 和 AutowireCapableBeanFactory 。DefaultListableBeanFactory 为最终默认实现,它实现了所有接口。
4.BeanDefinition 组件体系
BeanDefinition ,主要是用来描述 Spring Framework中的 Bean 对象。主要类图如下:

5.BeanDefinitionReader 组件体系
BeanDefinitionReader 的作用是读取 Spring 的配置文件的内容,并将其转换成 Ioc 容器内部的数据结构 :BeanDefinition 。它的主要类图如下:

6. ApplicationContext 组件体系
ApplicationContext,叫做应用上下文,与我们应用息息相关。它继承 BeanFactory ,所以它是 BeanFactory 的扩展升级版。ApplicationContext虽然继承BeanFactory ,但是它的结构与BeanFactory却大大不同。其主要区别如下:
- 继承 org.springframework.context.MessageSource 接口,提供国际化的标准访问策略。
- 继承 org.springframework.context.ApplicationEventPublisher 接口,提供强大的事件机制。
- 扩展 ResourceLoader ,可以用来加载多种 Resource ,可以灵活访问不同的资源。
- 对 Web 应用的支持。
主要类图如下:

通过上面五个体系,我们可以看出,IoC 主要由 spring-beans 和 spring-context 项目,进行实现。
相关文章:
二.重新回炉Spring Framework:Spring Framework主要组件概览
1.写在前面的话 这里主要简单说一下Spring Framework的几个核心组件的总体情况。为了比较直观,这里使用了ClassPathXmlApplicationContext的类图来进行说明。它基本上包含了 IoC 体系中大部分的核心类和接口。类图如下图所示: 2.Resource 组件体系 R…...
Open CASCADE学习|曲线向曲面投影
在三维空间中,将曲线向曲面投影通常涉及复杂的几何计算。这个过程可以通过多种方法实现,但最常见的是使用数学和几何库,如OpenCASCADE,来处理这些计算。 在OpenCASCADE中,投影曲线到曲面通常涉及以下步骤:…...
怎样连接局域网?
局域网(Local Area Network,缩写为LAN)是建立在小范围内的计算机网络,用于连接同一建筑物或者办公场所内的设备。连接局域网可以实现设备之间的信息共享和远程通信。本文将介绍如何连接局域网,并介绍了天联组网天联的使…...
OpenAI 发布文生视频大模型 Sora,AI 视频要变天了,视频创作重新洗牌!AGI 还远吗?
一、一觉醒来,AI 视频已变天 早上一觉醒来,群里和朋友圈又被刷屏了。 今年开年 AI 界最大的震撼事件:OpenAI 发布了他们的文生视频大模型 Sora。 OpenAI 文生视频大模型 Sora 的横空出世,预示着 AI 视频要变天了,视…...
java基础day01
1.什么是Java Java是一门编程语言 思考问题: 人和人沟通? 中文 英文 人和计算机沟通? 计算机语言: C C C# php python 2. Java诞生 前身叫Oak(橡树)…...
读十堂极简人工智能课笔记06_自然语言处理
1. 聊天机器人 1.1. 人工智能往往掌握不了跨越几段对话语境的讨论 1.1.1. 抓不住连贯的主题,只能单独处理每个句子 1.1.2. 不能将其答案与现实联系起来 1.1.3. 可能会遵循语言规则、统计相关性,甚至查找有关事实来为每个新句子提供答复 1.2. 聊天机…...
Linux文件信息,drwxr-xr-x. 2 root root 6 Jan 30 17:42 Desktop
drwxr-xr-x. 2 root root 6 Jan 30 17:42 Desktop drwxr-xr-x. drwxr-xr-x.d是文件类型rwx r-x r-x9位,每3位一组,一共3组,代表基本权限第一组 文件的创建者 | 拥有者第二组 和拥有者在一个组中第三组 其他用户rread,读的权限ww…...
深入理解Promise:用法和面试问题解析
引言 在现代的异步JavaScript编程中,Promise是一个强大的工具,用于更优雅地处理异步操作。本文将深入探讨Promise的具体用法,并提供一些在面试中可能遇到的问题及其答案。 Promise的基本用法 Promise是一个代表异步操作最终完成或失败的对…...
css2背景
css2背景 一.背景颜色二.背景图片三.背景平铺四.背景图片位置五.背景图像固定六.复合型写法七.背景颜色半透明八.总结 一.背景颜色 默认是transparent(透明) 二.背景图片 默认是none 三.背景平铺 默认是background-repeat(平铺) 四.背景图片位置…...
KUKA库卡机器人编程语言是什么?
KUKA库卡机器人的编程语言主要是KUKA Robot Language(简称KRL)。KRL是库卡机器人专门为其机器人系统设计的编程语言,用于编写和控制KUKA工业机器人的运动和操作。KRL结合了指令式编程和结构化编程的特点,具有一定的易学性和灵活性…...
Django学习全纪录:Django视图和路由的配置,应用的创建以及注册
导言 在之前的文章中,我们已经将Django的环境部署完成,包括一些注意事项以及前期工作,都已经完成。这篇文章,我们就可以正式开始干活了。 学习目标 1、学习创建应用以及注册APP 2、初步认识视图和路由,以及编写简单的代码 3、启动应用观察变化 创建第一个应用(APP) …...
LabVIEW卫星电视接收仿真系统
LabVIEW卫星电视接收仿真系统 随着卫星电视数字化的加速,传统模拟信号接收系统已无法满足需求。设计一套船载数字卫星电视接收系统,通过LabVIEW环境进行仿真实验,验证系统设计的可行性与有效性,满足数字信号接收的高精度要求&…...
docker修改工作目录
开始之前请务必给服务器打快照!!! 开始之前请务必给服务器打快照!!! 开始之前请务必给服务器打快照!!! docker 默认安装在 /var/lib/docker 目录下 $ docker info | g…...
Ps:统计
Ps菜单:文件/脚本/统计 Scripts/Statistics 统计 Statistics脚本命令提供了一种高效的方法来处理和分析大量图像,使用户能够自动执行复杂的图像分析任务,并在多个图像间应用统计学方法。这个功能极大地扩展了 Photoshop 在科学研究、图像编辑…...
java生成pdf
1.pdf预览 2.maven <!--pdf--><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.9</version></dependency><dependency><groupId>com.itextpdf</groupId>…...
鸿蒙应用/元服务开发-窗口概述
一、窗口模块的定义 窗口模块用于在同一块物理屏幕上,提供多个应用界面显示、交互的机制。 对应用开发者而言,窗口模块提供了界面显示和交互能力。 对终端用户而言,窗口模块提供了控制应用界面的方式。 对整个操作系统而言,窗…...
引入成熟的Pytest自动化测试框架
虽然我们能使用脚本编写自动化测试框架,但没有必要重复找车轮子,引入成熟的自动化测试框架即可, Pytest是目前最成熟、功能最全面的Python测试框架之一,简单灵活、易于上手,可完全兼容其他测试框架如unitestÿ…...
学习总结18
# 营救 ## 题目背景 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动得热泪盈眶,开起了门…… ## 题目描述 妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车&#…...
SpringMVC的执行流程
过去的开发中,视图阶段(老旧JSP等) 1.首先用户发送请求到前端控制器DispatcherServlet(这是一个调度中心) 2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping 3.处理器映射器HandlerMapping找到具体的处理器,可查找xml配置或注…...
Vue项目启动过程全记录(node.js运行环境搭建)
一、安装node.js并配置环境变量 1、安装node.js 从Node.js官网下载安装包并安装。然后在安装后的目录(如果是下载的压缩文件,则是解压缩的目录)下新建node_global和node_cache这两个文件夹。 node_global:npm全局安装位置 node_…...
ABAP开发避坑指南:绕过SAP GUI安全弹窗的5种编程方案实测
ABAP开发实战:5种绕过SAP GUI安全弹窗的编程方案深度解析 引言:SAP GUI安全机制的困境与突破 在SAP系统的日常开发与运维中,频繁出现的"系统试图创建文件"安全弹窗堪称ABAP开发者的噩梦。这种设计初衷为保护本地文件安全的机制&…...
在六亩半,春天不是日历上的数字,而是泥土间的青草香
当城市里的春天还停留在气温起伏的天气预报里,六亩半手作文创园的春意,早已从土地深处探出头来。那是荠菜嫩芽拱开泥土的力道,是柳条抽出新绿的柔软,是孩子们蹲在田埂上、指尖沾满青草汁液的鲜活记忆。在这里,春天不是…...
OpenClaw+GLM-4.7-Flash:自动化数据清洗与分析流程
OpenClawGLM-4.7-Flash:自动化数据清洗与分析流程 1. 为什么需要自动化数据流水线 作为一名数据分析师,我每天要处理大量原始数据。这些数据可能来自Excel表格、数据库导出或者网页抓取,格式混乱、缺失值多、重复记录频发。传统的手工清洗不…...
SEO排名专家的工作内容是什么_如何成为一名出色的SEO排名专家
<h2>SEO排名专家的工作内容是什么</h2> <p>SEO排名专家,全称搜索引擎优化专家,是一类致力于提升网站在搜索引擎中排名的专业人士。他们的工作内容涵盖了广泛的技术和策略,旨在让网站在搜索结果中获得更高的曝光率ÿ…...
4大核心优势解决人脸处理难题:设计师与创作者的AI增强工具
4大核心优势解决人脸处理难题:设计师与创作者的AI增强工具 【免费下载链接】DZ-FaceDetailer a node for comfyui for restore/edit/enchance faces utilizing face recognition 项目地址: https://gitcode.com/gh_mirrors/dz/DZ-FaceDetailer 【问题诊断】为…...
Flink技术实践-超时异常踩坑与优化
一、背景介绍在Flink实时计算的生产环境中,最令人头疼的往往不是复杂的业务逻辑,而是那些突如其来的“超时异常”。这些异常就像是系统中的“幽灵”,通常在业务高峰期或网络抖动时出现,导致作业重启、数据延迟甚至数据丢失。最近几…...
省市区县四级联动数据获取指南:基于高德API的geoJSON数据自动更新方案
省市区县四级联动数据获取指南:基于高德API的geoJSON数据自动更新方案 行政区划数据是地理信息系统和数据分析领域的基础要素之一。无论是制作可视化地图、进行区域统计分析,还是开发基于位置的服务应用,准确、实时的行政区划数据都至关重要。…...
告别传统架构!源网荷储四侧时序数据库选型与落地全解析
新型电力系统应该用什么数据库?源网荷储四侧的时序数据库选型与落地实战 “双碳” 目标的推进正在深刻重构电力系统的运行逻辑。新能源装机占比持续攀升,储能、虚拟电厂、需求响应等新业态快速涌现,源、网、荷、储各侧的角色与互动方式正在被…...
SOONet效果展示:多查询并行定位——‘倒水’‘接电话’‘写笔记’三任务同步响应
SOONet效果展示:多查询并行定位——‘倒水’‘接电话’‘写笔记’三任务同步响应 1. 引言:当视频搜索变得像说话一样简单 想象一下,你有一段长达一小时的会议录像,现在需要快速找到“张三站起来发言”、“李四在白板上画图”以及…...
离网逆变器下垂控制实战:从公式推导到MATLAB仿真(附资源下载)
离网逆变器下垂控制实战:从公式推导到MATLAB仿真 在新能源发电系统中,离网逆变器的稳定运行至关重要。传统电压电流双闭环控制虽然简单直接,但在面对复杂负载变化时,往往会出现电压跌落、频率失稳等问题。下垂控制技术通过模拟同…...
