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

Spring MVC 的执行流程以及运行原理

一.什么是 MVC?

MVC Model View Controller 的缩写,分别代表 Web 应用程序中的 3 种职责, MVC
是一种软件设计规范。它将业务逻辑、数据、显示分离的方法来组织代码,降低了视图与业
务逻辑之间的双向耦合。
Model( 模型 ) :数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型
JavaBean 组件(包含数据和行为),不过现在一般都分离开来: Value Object (数据 Dao
和 服务层(行为 Service )。也就是模型提供了模型数据查询和模型数据的状态更新等功能,
包括数据和业务。
View( 视图 ) :负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
Controller( 控制器 ) :接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回
的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作。
最典型的 MVC 模式就是 JSP+Servlet+JavaBean 的模式。

二.什么是 Spring MVC?

Spring MVC 是一个基于 MVC 模式的 Web 框架,是 Spring 框架的一个模块。
它以 Spring IOC 容器为基础,并利用容器的特性来简化它的配置,所以 Spring MVC Spring
可直接整合使用。
Spring MVC MVC 流程进行了封装,屏蔽掉很多底层代码,让开发者可以更加轻松快捷 的完成基于 MVC 模式的 Web 开发。
总的来说: Spring MVC Spring Framework 的一部分,是基于 Java 实现 MVC 的轻量级 Web
框架。
Spring MVC 的特点:
Spring 框架的一部分,可以方便的利用 Spring 所提供的其他功能。
灵活性强,易于与其他框架集成。
提供了一个前端控制器 DispatcherServlet ,使开发人员无需额外开发控制器对象。
可自动绑定用户输入,并能正确的转换数据类型。
内置了常见的校验器,可以校验用户输入。如果校验不能通过,那么就会重定向到输入表单。
支持国际化。可以根据用户区域显示多国语言。
支持多种视图技术。它支持 JSP Velocity FreeMarker 等视图技术。
使用基于 XML 的配置文件,在编辑后,不需要重新编译应用程序。

三.SpringMVC 中的核心组件

1 )前端控制器( DispactherServlet ):接收请求、响应结果,相当于转发器,它是 SpringMVC
框架最核心的组件,有了它就能减少其他组件之间的耦合度。(不需要程序员开发)
2 )处理器映射器( HandlerMapping ):根据配置的映射规则(根据请求的 URL ),找到对
应的处理器。(不需要程序员开发)
3 )处理器适配器( HandlerAdapter ):适配调用具体的处理器,并且执行处理器中处理请求
的方法,执行完毕之后返回一个 ModelAndView 对象。
4 )处理器( Handler ):(需要程序员手动开发)。
5 )视图解析器( ViewResolver ):会根据传递过来的 ModelAndView 对象进行视图解析,根
据视图解析名解析称真正的视图 View 。(不需要程序员开发)
6 )视图( View ): View 是一个接口,它的实现类支持不同类型的视图。比如: JSP freemarker 、 Thymeleaf 等等。

四.Spring MVC 的执行流程

1 )当用户通过浏览器发起一个 HTTP 请求,请求直接到前端控制器 DispatcherServlet
2 )前端控制器接收到请求以后调用处理器映射器 HandlerMapping ,处理器映射器根据请
求的 URL 找到具体的 Handler ,并将它返回给前端控制器;
3 )前端控制器调用处理器适配器 HandlerAdapter 去适配调用 Handler
4 )处理器适配器会根据 Handler 去调用真正的处理器去处理请求,并且处理对应的业务
逻辑;
5 )当处理器处理完业务之后,会返回一个 ModelAndView 对象给处理器适配器,
HandlerAdapter 再将该对象返回给前端控制器;这里的 Model 是返回的数据对象, View
逻辑上的 View
6 )前端控制器 DispatcherServlet 将返回的 ModelAndView 对象传给视图解析器 ViewResolver
进行解析,解析完成之后就会返回一个具体的视图 View 给前端控制器。( ViewResolver
据逻辑的 View 查找具体的 View
7 )前端控制器 DispatcherServlet 将具体的视图进行渲染,渲染完成之后响应给用户(浏
览器显示)。

五.关于 Spring MVC 常用部分注解解释

@SpringBootApplication 此 注 解 是 一 个 组 合 注 解 , 包 含 了 ( @Configuration
@EnableAutoConfiguration @ComponentScan )三个重要注解的功能。其主要作用在于简化
启动类的编写,使得开发者可以快速搭建起一个基于 Spring 的应用程序框架。
@Component 标注在类上,表示将该类作为一个组件交给 Spring 容器管理。
@Controller 声明 Controller 组件,通常作用在控制层(如 Spring MVC Controller ),用于将控制层的类标识为 Spring 中的 Bean ,其功能与 @Component 相同。
@Service 声明 Service 组件 @Service( myMovieLister ) ,通常作用在业务层( Service 层),用于将业务层的类标识为 Spring 中的 Bean ,其功能与 @Component 相同。
@Repository 声明 Dao 组件,将数据访问层( DAO 层)的类标识为 Spring 中的 Bean ,其 功能与 @Component 相同。
@Resource 用于注入,默认按名称装配, @Resource(name= beanName )
@Autowired 用于注入,默认按类型装配
@Transactional: 事务管理
@RequestBody :注解实现接收 http 请求的 json 数据,将 json 转换为 java 对象。
@ResponseBody :注解实现将 conreoller 方法返回对象转化为 json 对象响应给客户。
@Scope: Spring IOC 容器中的一个作用域,在 Spring IOC 容器中,他用来配置 Bean 实例的
作用域对象。
@RequestMapping("/menu") 请求映射,用于映射 url 到控制器类或一个特定的处理程序方法。
可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@GetMapping :它是 @RequestMapping(method =RequestMethod.GET) 的一个快捷方式,只
能处理 Get 类型请求。
@PostMapping : 它是 @RequestMapping(method =RequestMethod.POST) 的一个快捷方式,
只能处理 Post 类型请求。
@RequestParam :从请求中提取查询参数

相关文章:

Spring MVC 的执行流程以及运行原理

一.什么是 MVC? MVC 是 Model 、 View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责, MVC 是一种软件设计规范。它将业务逻辑、数据、显示分离的方法来组织代码,降低了视图与业 务逻辑之间的…...

08-Spring MVC 请求处理流程全解析

Spring MVC 请求处理流程全解析(从 DispatcherServlet 到 Controller) Spring MVC 是构建 Web 应用的基础框架,而其中最核心的组件就是 DispatcherServlet,它作为整个请求流程的入口和协调者,掌控了从接收请求、分发到…...

pikachu靶场搭建教程,csfr实操

靶场安装 靶场下载地址 百度网盘下载地址和密码 百度网盘 请输入提取码 0278 github靶场下载地址 https://gitcode.com/Resource-Bundle-Collection/c7cc1 安装前提 这两个文件夹的配置文件都要进行更改修改数据库密码 D:\phpstudy_pro\WWW\pikachu\inc D:\phpstudy_pro…...

MCP + 数据库,一种比 RAG 检索效果更好的新方式!

大家好,欢迎来到 code秘密花园,我是 ConardLi。 在今天这一期,我们将一起学习一种基于 MCP 提高大模型检索外部知识精度的新思路,实测比 RAG 效果要好很多。 目前市面上讲 MCP 的教程比较多,但大多数都是一些概念性的…...

图像处理中的梯度计算、边缘检测与凸包特征分析技术详解

前言 书接上文 OpenCV图像处理实战全解析:镜像、缩放、矫正、水印与降噪技术详解-CSDN博客文章浏览阅读1.1k次,点赞38次,收藏29次。本文系统解析OpenCV图像处理五大实战场景:镜像反转的三种坐标变换模式,图像缩放的尺…...

TDengine 与 taosAdapter 的结合(一)

一、引言 在当今数字化时代,数据量呈爆发式增长,尤其是物联网、工业互联网等领域产生的海量时序数据,对数据存储和处理提出了极高要求。TDengine 作为一款高性能、开源的时序数据库,专为这些场景设计并优化,在时序数据…...

23种设计模式-行为型模式-模板方法

文章目录 简介场景解决代码关键优化点 总结 简介 模板方法是一种行为设计模式,它在超类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。 场景 假如你正在开发一款分析文档的数据挖掘程序。用户需要向程序输入各种格式&…...

Django异步执行任务django-background-tasks

1、安装 pip install django-background-tasks 2、注册服务 INSTALLED_APPS [...background_task, ]3、生成表 // 生成迁移 python manage.py makemigrations //运行迁移 python manage.py migrate 4、创建文件,模拟任务 from background_task import backgrou…...

从零设计React-Markdown组件的实现方案

从零设计React-Markdown组件的实现方案 现在,把这些步骤整理成代码结构。首先是解析器类,用正则表达式分割文本为Token,然后生成AST。接着,编写一个React组件,接收Markdown字符串,解析成AST,遍历AST生成对应的React元素。处理代码高亮需要引入第三方库,但用户不允许用现…...

如何在React中集成 PDF.js?构建支持打印下载的PDF阅读器详解

本文深入解析基于 React 和 PDF.js 构建 PDF 查看器的实现方案,该组件支持 PDF 渲染、图片打印和下载功能,并包含完整的加载状态与错误处理机制。 完整代码在最后 一个PDF 文件: https://mozilla.github.io/pdf.js/web/compressed.tracemo…...

React-Markdown 组件底层实现原理详解

如何在 React 中渲染 Markdown 文档 React-Markdown 组件底层实现原理详解 一、核心架构:基于 Unified.js 的编译流水线 React-Markdown 的底层实现依赖于 Unified.js 这一开源内容处理系统,其核心是一个可插拔的编译流水线。整个过程分为四个阶段&…...

基于单片机的防火防盗报警系统设计(论文+源码)

2.1系统的功能及方案设计 本次课题为基于单片机的防火防盗报警系统,其系统采用STC89C52单片机为控制器,并结合SIM800短信模块,DS18B20温度检测模块,MQ-2烟雾检测模块,红外人体检测模块,按键模块&#xff0c…...

NO.72十六届蓝桥杯备战|搜索算法-DFS|选数|飞机降落|八皇后|数独(C++)

P1036 [NOIP 2002 普及组] 选数 - 洛谷 组合型枚举&#xff0c;路径⾥⾯记录选择数的「总和」。在选出k 个数之后&#xff0c;判断「是否是质数」 #include <bits/stdc.h> using namespace std;const int N 25; int n, k; int a[N];int ret; int path; //记录路径中所…...

网络Socket编程基于UDP协议模拟简易网络通信

一、预备知识 网络编程&#xff08;Network Programming&#xff09;是指编写程序来实现计算机网络之间的通信。这通常涉及到使用套接字&#xff08;sockets&#xff09;来建立连接、发送和接收数据。 &#xff08;一&#xff09;套接字 套接字&#xff08;Socket&#xff0…...

rust 使用select退出线程

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] pub struct Capture {clear: bool, // ????????interface: String, // ??times: u64, // ?? }pub async fn cmd_capture(State(web_env): State<ArcWebEnv>,Json(args): Json<C…...

C++学习day7

思维导图&#xff1a; 使用vector实现一个简单的本地注册登录系统 注册&#xff1a;将账号密码存入vector里面&#xff0c;注意防重复判断 登录&#xff1a;判断登录的账号密码是否正确 #include <iostream> #include <cstring> #include <cstdlib> #includ…...

【学习笔记】CoACD: 基于碰撞感知凹性与树搜索的近似凸分解

CoACD 基于碰撞感知凹性与树搜索的近似凸分解 CoACD 官方文档 CoACD&#xff08;Convex Approximation of Complex Decompositions&#xff09;是一种用于将复杂网格分解为多个凸包的算法, 专为 3D 网格设计了近似凸分解算法&#xff0c;强调在保持物体间潜在碰撞条件的同时减…...

Three.js 系列专题 6:后处理与特效

内容概述 后处理(Post-Processing)是在渲染完成后对画面进行额外的处理,以实现模糊、辉光、颜色校正等效果。Three.js 通过 EffectComposer 提供后处理支持。本专题还将简要介绍着色器和粒子系统,为更复杂的特效打基础。 学习目标 掌握 EffectComposer 的基本使用。实现辉…...

2025 年江苏保安员职业资格考试经验分享​

江苏保安行业发展成熟&#xff0c;2025 年考试注重对考生综合素养的考查。报考条件常规&#xff0c;但对诚信记录有额外关注&#xff0c;如有不良信用记录可能影响报考资格。​ 报名在江苏省各地级市公安局指定点进行&#xff0c;提交资料包括身份证、学历证、个人诚信报告&am…...

​​亚马逊算法重构消费市场:解码2024年Q1北美站热搜商品的底层逻辑​

在跨境电商迈入精细化运营时代的背景下&#xff0c;亚马逊平台最新发布的《2024年Q1零售搜索趋势报告》揭示了算法驱动下的消费新图景。数据显示&#xff0c;北美站点月均超300万人次重复搜索特定品类商品&#xff0c;健康生活、智能家居等五大领域形成持续增长极。这份由亚马逊…...

powershell绑定按钮事件的两种方式

写一个powershell的简单GUI做本地任务&#xff0c;试验出2个方法&#xff1a; 方法1&#xff1a; function btn1_click {write-host $text1.Text -ForegroundColor Green -BackgroundColor Black }$btn1.Add_Click({btn1_click})方法2&#xff1a; $btn2_click {write-host $…...

LearnOpenGL——OIT

教程地址&#xff1a;简介 - LearnOpenGL CN 简介 原文链接&#xff1a;LearnOpenGL - Introduction 前言 在混合&#xff08;Blending&#xff09;章节中&#xff0c;我们介绍了颜色混合的主题。混合是在3D场景中实现透明表面的方法。简而言之&#xff0c;透明度涉及到在计算…...

【蓝桥杯】Python大学A组第十五届省赛

1.填空题 1.1.拼正方形 问题描述 小蓝正在玩拼图游戏,他有个的方块和个的方块,他需要从中挑出一些来拼出一个正方形。 比如用个和个的方块可以拼出一个的正方形;用个的方块可以拼出一个的正方形。 请问小蓝能拼成的最大的正方形的边长为多少。 import math # 2*2的个数 a =…...

使用JS+HTML+CSS编写提词器实例

手搓提词器网页版&#xff0c;有些BUG但是基本功能使用没有问题&#xff0c;有需要的可复制粘贴&#xff0c;BUG自行修复。下面直接进入代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><me…...

人工智能基础知识详解:从概念到前沿技术与应用

在数字化浪潮席卷全球的今天&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;已不再是科技前沿的神秘概念&#xff0c;而是融入我们日常工作的实用工具。从智能语音助手到自动驾驶汽车&#xff0c;从医疗影像诊断到生成式艺术创作&…...

重温经典,畅享怀旧游戏盛宴

FC街机是一款专为安卓设备设计的经典游戏合集应用&#xff0c;它将玩家熟悉的红白机&#xff08;FC&#xff09;游戏体验带到了移动设备上。这款应用不仅提供了丰富的游戏选择&#xff0c;还通过优化的界面和操作&#xff0c;让玩家能够随时随地享受经典游戏的乐趣。 游戏非常…...

CPU 压力测试命令大全

CPU 压力测试命令大全 以下是 Linux/Unix 系统下常用的 CPU 压力测试命令和工具&#xff0c;可用于测试 CPU 性能、稳定性和散热能力。 1. 基本压力测试命令 1.1 使用 yes 命令 yes > /dev/null & # 启动一个无限循环进程 yes > /dev/null & # 启动第二个进…...

Windows 系统下用 VMware 安装 CentOS 7 虚拟机超详细教程(包含VMware和镜像安装包)

前言 资源 一、准备工作 &#xff08;一&#xff09;下载 VMware Workstation &#xff08;二&#xff09;下载 CentOS 7 镜像 二、安装 VMware Workstation&#xff08;比较简单&#xff0c;按下面走即可&#xff09; 三、创建 CentOS 7 虚拟机 四、安装 CentOS 7 系统…...

QLineEdit的提交前验证

QLineEdit是pyqt中常用的输入控件&#xff0c;默认情况下&#xff0c;它可以接受键盘输入的任何可打印字符。有时候&#xff0c;我们需要在用户提交前对其输入的内容先行验证&#xff0c;当用户输入不符合预期时予以清空&#xff0c;这就需要对QLineEdit控件进行以下操作&#…...

【Linux高级IO(二)】初识epoll

目录 1、epoll的接口 2、epoll原理 3、epoll工作方式 1、epoll的接口 #include <sys/epoll.h> 1、int epoll_create(int size) &#xff1a;创建epoll模型 返回值是一个文件描述符&#xff0c;创建一个struct file结构体&#xff0c;指向epoll模型&#xff0c;返回的…...

2018年真题

数学基础 一、 &#xff08;共4分&#xff09;用逻辑符号表达下列语句&#xff08;论域为包含一切事物的集合&#xff09; 1、&#xff08;2分&#xff09;集合A的任一元素的元素都是A的元素 经过对图片文字的识别与逻辑分析&#xff0c;结果如下&#xff1a; 符号定义&…...

Linux xxd命令

目录 一. xxd命令简介二. 简单使用三. -p选项纯16进制输出四. -r选项将十六进制还原成原始内容五. 小应用 一. xxd命令简介 xxd 是一个将文件或输入内容转换为十六进制&#xff08;Hex Dump&#xff09;格式的工具&#xff0c;也可以将十六进制恢复成原始数据。 它在调试二进制…...

高校实验室安全数智化分级分类管理-危化品管理LIMS

一、背景与依据 传统实验室安全管理如同老式挂钟&#xff0c;齿轮咬合处总会随时间产生间隙。为进一步规范学校实验室建设与适用&#xff0c;从源头管控实验室和实验项目安全风险&#xff0c;确保教学科研活动安全有序开展&#xff0c;分级分类体系构建如同绘制实验室的"…...

春芽儿智能跳绳:以创新技术引领运动健康新潮流

在全球运动健康产业蓬勃发展的浪潮中&#xff0c;智能健身器材正成为连接科技与生活的重要纽带。据《中国体育用品产业发展报告》显示&#xff0c;2023年中国智能运动装备市场规模突破千亿元&#xff0c;其中跳绳类目因兼具大众普及性与技术升级空间&#xff0c;年均增速超30%。…...

Fast网络速度测试工具

目录 网站简介 功能特点 测试过程 为什么使用Fast 如果网络速度不达标 网站简介 Fast是一个由Netflix提供的网络速度测试工具&#xff0c;主要用来测试用户的互联网下载速度。它以其简洁的界面和快速的测试过程而受到用户的欢迎。 功能特点 下载速度测试&#xff1a;这是…...

java的文件输入输出流(FileInputStream、FileOutputStream、FileReader、FileWriter)

文章目录 文件输入输出流1 java I/O 流的原理流的分类 2 FileInputStream 文件字节输入流3 FileOutputStream 文件字节输出流4 使用文件字节输入输出流完成对文件的拷贝5 FileReader 文件字符输入流6 FileWriter 文件字符输出流 文件输入输出流 1 java I/O 流的原理 I/O 是 In…...

stm32week10

stm32学习 七.CAN 7.STM32 CAN外设 标识符过滤器&#xff1a; 每个过滤器的核心由两个32位寄存器组成&#xff1a;R1[31:0]和R2[31:0] FSCx&#xff1a;位宽设置&#xff0c;置0为16位&#xff0c;置1为32位 FBMx&#xff1a;模式设置&#xff0c;置0为屏蔽模式&#xff0c;…...

【UnityEditor扩展】如何在 Unity 中创建棱柱体(用作VR安全区检测),同时在编辑器插件中实现与撤销/恢复功能

Unity 编辑器扩展&#xff1a;3D 空间中绘制安全区棱柱体&#xff08;含撤销/恢复/保存/读取&#xff09; 在虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;开发中&#xff0c;安全区是保障用户安全的重要组成部分。通过精确控制用户活动范围&#…...

C++小游戏 合集

生化危机 #include<conio.h> #include<string.h> #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<time.h> #include<direct.h> int n,round,gold0; bool f1,f2,f3,deadfalse,PC_64Bit; char str[4]; struct n…...

常州 d??

回来了&#xff01; 今天&#xff08;&#xff1f;发出来的时候可能已经是第二天了吧 真的爆零了qaq 挺难的 最高分只有100 而且t2t3t4一个人都没拿分qaq 这段时间在写网络流 唉博客还是不要写太水了 抄一点网络流代码上来 EK不写了 dinic会就行了 板子题洛谷p3376 dini…...

juc并发包的常用类、线程安全实现方式、锁机制及 JVM 优化策略

juc并发包的常用类、线程安全实现方式、锁机制及 JVM 优化策略 1. juc包下的常用类&#xff1a;线程池&#xff1a;并发集合类&#xff1a;同步工具类&#xff1a;原子类&#xff1a; 2. 怎么保证多线程安全&#xff1a;3. Java中常用锁及使用场景&#xff1a;4. 线程同步的方法…...

学习日记-0407(Inductive Matrix Completion Using Graph Autoencoder)

论文阅读&#xff1a;Inductive Matrix Completion Using Graph Autoencoder 代码&#xff1a;swtheing/IMC-GAE 总而言之就是设计了一个不同评分下的邻接图&#xff0c;然后对每一个评分图T进行独立GNN编码。这个 GNN 编码器主要由三个组件构成&#xff1a;嵌入层、消息传递层…...

FPGA入门:状态机思想编程

一、状态机思想编写流水灯 1、状态机思想的概念 状态机思想是一种用于描述和处理具有多个状态以及状态之间转换关系的系统的思维方式。以下是对其主要概念、应用场景和优势的介绍&#xff1a; 主要概念 状态&#xff1a;指系统在某一时刻的状况或条件。例如&#xff0c;在一…...

【电路笔记】-切换触发器

切换触发器 文章目录 切换触发器1、概述2、切换触发器3、JK触发器转换为D型触发器4、D型触发器转换为切换触发器切换触发器是常用的时序逻辑电路,作为单个比特双稳态存储元件,在计数器、存储器设备中经常使用,或作为响应时钟脉冲的分频器。 1、概述 切换触发器是另一种基于…...

示例项目文档模板集:TaskBoard 任务管理系统

一套完整、高可读性、结构清晰的项目文档模板,适用于中小型软件项目的设计、开发、交接与展示全流程。 📌 项目概述文档(overview.md) 📂 项目名称:TaskBoard 🧭 项目简介 TaskBoard 是一款专为敏捷团队打造的任务管理系统,支持任务分配、状态追踪与协作沟通,帮…...

TF-IDF忽略词序问题思考

自从开始做自然语言处理的业务&#xff0c;TF-IDF就是使用很频繁的文本特征技术&#xff0c;他的优点很多&#xff0c;比如&#xff1a;容易理解&#xff0c;不需要训练&#xff0c;提取效果好&#xff0c;可以给予大规模数据使用&#xff0c;总之用的很顺手&#xff0c;但是人…...

代理模式的优缺点是什么?

什么是代理模式&#xff1f; 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过创建代理对象来控制对原始对象的访问。 这种模式在前端开发中广泛应用&#xff0c;特别是在需要控制对象访问、添加额外逻辑或优化性能的场景中。 ​​核心…...

十分钟上手:Distilling the Knowledge in a Neural Network

概述&#xff1a;知识蒸馏是一种模型压缩技术&#xff0c;通过让轻量化的学生模型模仿复杂教师模型的输出概率分布&#xff0c;结合软目标和硬目标进行训练&#xff0c;从而将教师模型的泛化能力迁移至学生模型&#xff0c;实现小模型的高效部署而不显著降低性能。 硬目标&…...

百度的deepseek与硅基模型的差距。

问题&#xff1a; 已经下载速度8兆每秒&#xff0c;请问下载30G的文件需要多长时间&#xff1f; 关于这个问题。百度的回答如下&#xff1a; ‌30GB文件下载时间计算‌ ‌理论计算‌&#xff08;基于十进制单位&#xff09;&#xff1a; ‌单位换算‌ 文件大小&#xff1a;3…...

OpenCV 图形API(18)用于执行两个矩阵(或数组)的逐元素减法操作函数sub()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 描述 计算两个矩阵之间的逐元素差值。 sub 函数计算两个矩阵之间的差值&#xff0c;要求这两个矩阵具有相同的尺寸和通道数&#xff1a; dst ( I ) src…...