DJYGUI系列文章八:GDD绘图系统

news2024/10/7 12:27:45

目录

1 GDD绘图系统概述

1.1绘图上下文

1.2 DrawColor,FillColor,TextColor的作用与区别

2 API说明

2.1 SetRopCode: 设置当前光栅码

2.2 GetRopCode: 获得当前光栅码

2.3 MoveTo: 设置当前坐标位置

2.4 SetDrawColor: 设备当前画笔颜色

2.5 GetDrawColor: 获得当前画笔颜色

2.6 SetFillColor: 设置当前填充颜色

2.7 GetFillColor: 获得当前填充颜色

2.8 SetTextColor: 设置当前文字颜色

2.9 GetTextColor: 获得当前文字颜色

2.10 SetFont: 设置当前字体

2.11 GetFont: 获得当前字体

2.12 SetPixel: 绘制像素

2.13 DrawLine: 画线

2.14 DrawLineTo: 使用当前位置画线

2.15 TextOut: 在指定位置绘制字符串

2.16 DrawText: 在指定矩形内绘制字符串

2.17 DrawRect: 绘制矩形

2.18 FillRect: 填充矩形

2.19 FillRectEx: 使用指定颜色填充矩形

2.20 GradientFillRect: 渐变填充矩形

​​​​​​​2.21 DrawCircle: 绘制空心圆

​​​​​​​2.22 FillCircle: 填充实心圆

​​​​​​​2.23 DrawEllipse: 绘制空心椭圆

​​​​​​​2.24 FillEllipse: 填充实心椭圆

​​​​​​​2.25 DrawSector: 绘制空心扇形

​​​​​​​2.26 FillSector: 填充实心扇形

​​​​​​​2.27 DrawBezier3: 绘制连续3阶贝塞尔线

​​​​​​​2.28 DrawPolyLine: 绘制折线

2.29 DrawGroupBox: 绘制组合框

​​​​​​​2.30 DrawBMP: 绘制BMP格式图片

​​​​​​​2.31 AlphaBlendColor: 计算两个颜色按Alpha混合后的颜色值

2.32 UpdateDisplay: 立即更新显示到屏幕


1 GDD绘图系统概述

1.1绘图上下文

        用户所有的绘图操作,都需要在一个绘图上下文上进行(以下简称DC)。DC中记录着一些绘制参数,如各类颜色值,当前使用字体等等,用户通过设置这些参数,来改变绘图行为和效果。多个绘图上下文可同时使用,通过信号量保证了线程使用绘图上下文的安全性。

1.2 DrawColor,FillColor,TextColor的作用与区别

        绘图上下文中,使用了三种颜色参数,分别如下:

DrawColor: 绘制色(画笔),用于绘制线条,空心图形,如DrawLine,DrawCircle;

FillColor: 填充色(画刷),用于复辅音实心图形,如FillRect,FillCircle;

TextColor: 文字颜色,用于文字绘制时指定字体的颜色;

        绘图上下文中的颜色值,用户可以使用RGB宏来表示,该宏的3个参数依次分别代表红,绿,蓝三基色,分量范围为0~255.比如可以用以下方式来描述:

        红色:RGB(255,0,0)

        绿色:RGB(0,255,0)

        黄色:RGB(255,255,0)

        白色:RGB(255,255,255)

        黑色:RGB(0,0,0)

        之所以使用3个颜色来分别作用于不同的绘图输出,好处是在用户编程时,当绘制的图形种类多样,与字体混合绘制时,可以减少用户代码反复修改/切换颜色的情况,丛用户角度来看,降低了使用上的繁琐度,增强程序的可读性。

        三种颜色使用对象如图 3-1所示:

 图 3-1三种颜色效果示意图

2 API说明

2.1 SetRopCode: 设置当前光栅码

2.2 GetRopCode: 获得当前光栅码

u32 GetRopCode(HDC hdc);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

返回值:

当前光栅码。

2.3 MoveTo: 设置当前坐标位置

void MoveTo(HDC hdc,int x,int y,POINT *old_pt);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

x,y: 新的坐标位置。

old_pt: 输出旧的坐标位置,如果该参数为NULL,则忽略该参数。

返回值: 无。

2.4 SetDrawColor: 设备当前画笔颜色

u32 SetDrawColor(HDC hdc,u32 color);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

color: 新的画笔颜色。

返回值:

旧的画笔颜色。

说明:

当前画笔颜色会被绘制类绘图函数使用,如DrawLine,DrawRect…

2.5 GetDrawColor: 获得当前画笔颜色

u32 GetDrawColor(HDC hdc);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

返回值:

当前画笔颜色。

2.6 SetFillColor: 设置当前填充颜色

u32 SetFillColor(HDC hdc,u32 color);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

color: 新的填充颜色。

返回值:

旧的填充颜色。

说明:

当前填充颜色会被填充类绘图函数使用,如FillRect,FillCircle…

2.7 GetFillColor: 获得当前填充颜色

u32 GetFillColor(HDC hdc);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

返回值:

当前填充颜色。

2.8 SetTextColor: 设置当前文字颜色

u32 SetTextColor(HDC hdc,u32 color);

头文件: 

gdd.h

参数:

hdc: 绘图上下文句柄。

color: 新的文字颜色。

返回值:

旧的文字颜色。

说明:

当前文字颜色会被文字绘制类函数使用,如TextOut,DrawText…

2.9 GetTextColor: 获得当前文字颜色

u32 GetTextColor(HDC hdc);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

返回值:

当前文字颜色。

2.10 SetFont: 设置当前字体

HFONT SetFont(HDC hdc,HFONT hFont);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

hFont: 新的字体句柄。

返回值:

旧的字体句柄。

说明:

当前字体会被文字绘制类函数使用,如TextOut,DrawText…

2.11 GetFont: 获得当前字体

HFONT GetFont(HDC hdc);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

返回值:

当前字体句柄。

2.12 SetPixel: 绘制像素

void SetPixel(HDC hdc,s32 x,s32 y,u32 color);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

x,y: 像素点的坐标。

color: 颜色值。

返回值: 无。

2.13 DrawLine: 画线

void DrawLine(hdc hdc,s32 x0,s32 y0,s32 x1,s32 y1);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

x0,y0: 起始坐标。

x1,y1: 结束坐标,该点也会被绘制。

返回值: 无。

该函数只绘制单个像素宽度的任意直线,使用绘图上下文中的DrawColor作为颜色值,结束坐标点,也将会被绘制。

2.14 DrawLineTo: 使用当前位置画线

void DrawLineTo(HDC hdc,s32 x,s32 y);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

x,y: 结束坐标位置,该点也会被绘制。

返回值: 无。

该函数只绘制单个像素宽度的任意直线,使用绘图上下文中的DrawColor作为颜色值。

绘制完成后,该函数会将绘图上下文中的当前坐标位置更新为本次画线的结束坐标值。

2.15 TextOut: 在指定位置绘制字符串

BOOL TextOut(HDC hdc, s32 x, s32 y,LPCWSTR text,s32 count);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

text: 需要绘制的字符串。

count: 需要绘制的字符数量,该参数小于0时,将绘制整个字符串。

x,y两个参数没说明,是字符串的左上角坐标还是左下角坐标?

返回值:

TRUE:成功; FALSE:失败。

说明:

输出的字符串,使用绘图上下文中的TextColor作为颜色值,支持回车和换行符格式,当字符串超出屏幕范围时,不会自动换行,而是直接裁剪掉。

2.16 DrawText: 在指定矩形内绘制字符串

BOOL DrawText(HDC hdc,LPWSTR text,s32 count,const RECT *prc,u32 flag);

头文件::

gdd.h

参数:

hdc: 绘图上下文句柄。

text: 需要绘制的字符串。

count: 需要绘制的字符数量,该参数小于0时,将绘制整个字符串。

prc: 字符串输出的矩形。

flag: 绘制标记,指定字符串在竖直方向位置有以下三种情形:

DT_VCENTER: 文字在矩形内垂直居中对齐;

DT_TOP: 文字在矩形内顶部对齐;

DT_BOTTOM: 文字在矩形内底部对齐。

指定字符串在水平方向位置也有以下三种情形:

DT_CENTER: 文字在矩形内水平居中对齐;

DT_LEFT: 文字在矩形内左对齐;

DT_RIGHT: 文字在矩形内右对齐;

其他情形有:

DT_BORDER: 绘制矩形边框。

DT_BKGND: 绘制矩形背景。

绘制标记flag从竖直方向及水平方向位置三种情形中各选取其一与其他情形中两个任意组合。

返回值:

TRUE:成功; FALSE:失败。

说明:

输出的字符串,使用绘图上下文中的TextColor作为颜色值,支持回车和换行符格式。;绘制矩形边框,使用绘图上下文中的DrawColor作为颜色值;填充矩形背景,使用绘图上下文中的FillColor作为颜色值。

2.17 DrawRect: 绘制矩形

void DrawRect(HDC hdc,const RECT *prc);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

prc: 需要绘制的矩形参数。

返回值: 无

说明:

该函数使用绘图上下文中的DrawColor作为颜色值,绘制一个空心矩形。

2.18 FillRect: 填充矩形

void FillRect(HDC hdc,const RECT *prc);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

prc: 需要填充的矩形参数。

返回值:

说明:

该函数使用绘图上下文中的FillColor作为颜色值,填充一个实心矩形。

​​​​​​​2.19 FillRectEx: 使用指定颜色填充矩形

void FillRectEx(HDC hdc,const RECT *prc,u32 color);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

prc: 需要填充的矩形参数。

color: 填充颜色。

返回值:

说明:

该函数使用指定的颜色值,填充一个实心矩形。

2.20 GradientFillRect: 渐变填充矩形

void GradientFillRect(HDC hdc,const RECT *prc,u32 color1,u32 color2,u32 mode);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

prc: 需要绘制的矩形参数。

color1: 起始颜色值。

color2: 结束颜色值。

mode: 填充模式,可以是以下值之一:

CN_FILLRECT_MODE_H:       水平填充,Color0表示左边颜色,Color1右边;

CN_FILLRECT_MODE_V:       垂直填充,Color0表示上边颜色,Color1下边;

CN_FILLRECT_MODE_SP:      倾斜填充,Color0表示左上角颜色,Color1右下角;

CN_FILLRECT_MODE_SN:      倾斜填充,Color0表示右上角颜色,Color1左下角。

返回值: 无。

​​​​​​​2.21 DrawCircle: 绘制空心圆

void DrawCircle(HDC hdc,s32 cx,s32 cy,s32 r);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

cx,cy: 需要绘制的圆形的中心坐标。

r: 需要绘制的圆形的半径值(像素单位)

返回值: 无

说明:

该函数使用绘图上下文中的DrawColor作为颜色值,绘制一个空心圆。

​​​​​​​2.22 FillCircle: 填充实心圆

void DrawCircle(HDC hdc,s32 cx,s32 cy,s32 r);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

cx,cy: 需要绘制的圆形的中心坐标。

r: 需要绘制的圆形的半径值(像素单位)

返回值: 无

说明:

该函数使用绘图上下文中的FillColor作为颜色值,填充一个实心圆。

​​​​​​​2.23 DrawEllipse: 绘制空心椭圆

void DrawEllipse(HDC hdc,s32 cx,s32 cy,s32 rx,s32 ry);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

cx,cy: 需要绘制的椭圆的中心坐标。

rx,ry:需要绘制的椭圆的水平和垂直方向半径值(像素单位)

返回值: 无

说明:

该函数使用绘图上下文中的DrawColor作为颜色值,绘制一个空心椭圆。

​​​​​​​2.24 FillEllipse: 填充实心椭圆

void FillEllipse(HDC hdc,s32 cx,s32 cy,s32 rx,s32 ry);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

cx,cy: 需要填充的椭圆的中心坐标。

rx,ry:需要填充的椭圆的水平和垂直方向半径值(像素单位)

返回值: 无

说明:

该函数使用绘图上下文中的FillColor作为颜色值,绘制一个实心椭圆。

​​​​​​​2.25 DrawSector: 绘制空心扇形

void DrawSector(HDC hdc,s32 cx,s32 cy,s32 r,s32 a1,s32 a2);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

cx,cy: 需要绘制的扇形的中心坐标。

r:需要绘制的扇形的值(像素单位) 。

a1,a2:需要绘制的扇形的起始和结束角度。

返回值: 无

说明:

该函数使用绘图上下文中的DrawColor作为颜色值,绘制一个空心扇形。

​​​​​​​2.26 FillSector: 填充实心扇形

void FillSector(HDC hdc,s32 cx,s32 cy,s32 r,s32 a1,s32 a2);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

cx,cy: 需要填充的扇形的中心坐标。

r:需要填充的扇形的值(像素单位) 。

a1,a2:需要填充的扇形的起始和结束角度。

返回值: 无

说明:

该函数使用绘图上下文中的FillColor作为颜色值,填充一个实心扇形。

​​​​​​​2.27 DrawBezier3: 绘制连续3阶贝塞尔线

void DrawBezier3(HDC hdc,const POINT *pt,s32 count);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

pt: 需要绘制的贝塞尔线的坐标点。

count: 需要绘制的贝塞尔线的坐标点数量。

返回值: 无。

说明:

该函数使用绘图上下文中的DrawColor作为颜色值。

​​​​​​​2.28 DrawPolyLine: 绘制折线

void DrawPolyLine(HDC hdc,const POINT *pt,int count);

头文件:

gdd.h

参数:

hdc: 绘图上下文句柄。

pt: 需要绘制的曲线的坐标点。

count: 需要绘制的曲线的坐标点数量。

返回值: 无。

说明:

该函数使用绘图上下文中的DrawColor作为颜色值。

2.29 DrawGroupBox: 绘制组合框

void DrawGroupBox(HDC hdc,const RECT *prc,const WCHAR *text);

头文件::

gdd.h

参数:

hdc: 绘图上下文句柄。

prc: 需要绘制的组合框的矩形参数。

text: 组合框文字内容。

返回值: 无。

说明:

组合框是将文本框和列表框的功能融合在一起的一种控件。用户既可以在文本框中输入,也可以从列表框中选择一个列表项来完成输入。

该函数使用设备上下文中的TextColor作为组合框的文字颜色值;使用DrawColor作为组合框边框颜色值。 组合框可用于对用户绘制的内容进行分组标识,这使得界面在视觉效果上更加整洁美观;界面内容也更加直观明了。

​​​​​​​2.30 DrawBMP: 绘制BMP格式图片

void DrawBMP(HDC hdc,s32 x,s32 y, const void *bmp_data);

头文件::

gdd.h

参数:

hdc: 绘图上下文句柄。

x,y: 绘制到hdc中的坐标位置。

bmp_data: bmp格式图片的数据源。

返回值: 无。

说明:bmp格式图片的数据源必须是完整的BMP文件原始数据,包含有BMP的文件头信息。

​​​​​​​2.31 AlphaBlendColor: 计算两个颜色按Alpha混合后的颜色值

u32 AlphaBlendColor(u32 bk_c,u32 fr_c,u8 alpha);

头文件:

gdd.h

参数:

bk_c: 背景色(XRGB8888格式)。

fr_c: 前景色(XRGB8888格式)。

apha: Alpha分量值(0~255范围)。

返回值:

混合后的颜色值(XRGB8888格式)。

说明:

Alpha颜色混合公式为: 显示颜色=源颜色×alpha/255+背景颜色×(255-alpha)/255;

2.32 UpdateDisplay: 立即更新显示到屏幕

void UpdateDisplay(void);

头文件:

gdd.h

参数: 无。

返回值: 无。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web基础习题

1.语义化标签 1.现需要设置一个按钮&#xff0c;请填写语义化标签补全代码片段&#xff08;仅填写一个标签名即可&#xff09; <_____>点我!</_____> 2.在HTML中一般用哪个语义化标签表示斜体文本效果 3.在HTML中一般用哪个语义化标签表示头部导航 4.在HTML中一…

web前端-html-css-字体(字体的样式,字体的分类,字体其他样式,字体简写样式,文本样式)

字体的样式 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><style type"text/css">.p1 {font-size: 30px;font-family: "curlz mt";}</style></head><body>…

vite+ts前期准备(尽量详细在更新)

创建和准备vitets项目 打开命令行或进入vscode打开终端 输入命令:npm init vite 选择vuets cd 进入项目 cnpm/yarn/npm install 初次运行项目 终端输入命令:cnpm run dev 可以设置运行之后自动打开浏览器 目录打开package.json dev:vite --open 添加–open 查看环境变量 目录打…

Latex IEEE模板导入中文问题

IEEE模板下载 下载IEEE的conference的latex模板文件&#xff1a; conference&#xff1a;https://www.ieee.org/conferences/publishing/templates.html 模板包括以下文件 编译 IEEE模板需要用pdflatex编译&#xff0c;否则英文的粗体等无法正常显示。 使用pdflatex编译 …

select......for update会锁表还是锁行?

select查询语句是不会加锁的&#xff0c;但是select .......for update除了有查询的作用外&#xff0c;还会加锁呢&#xff0c;而且它是悲观锁。 那么它加的是行锁还是表锁&#xff0c;这就要看是不是用了索引/主键。 没用索引/主键的话就是表锁&#xff0c;否则就是是行锁。…

Flutter组件--TabBar使用详情(分段控制器)

TabBar介绍 一个显示水平行选项卡的Widget。 通常创建为 AppBar 的 AppBar.bottom 部分并与 TabBarView 结合使用 在什么情况下使用TabBar 当你的app内容类别比较多的时候&#xff0c;我们常常会用到TabBar&#xff0c;例如网易新闻、京东、B站等&#xff0c;所以TabBar是一…

CentOS7 设置 MySQL 主备同步

文章目录环境准备修改配置文件创建同步数据账户设置主库信息测试参考资料本文主要介绍在 MySQL 的主备同步设置方法。环境准备 Linux&#xff1a;Centos 7 MySQL&#xff1a;5.7 主节点&#xff1a;192.168.210.18 备节点&#xff1a;192.168.210.19 主备节点 MySQL 均支持…

2022 Android 高级进阶学习资料与高频精选面试题精讲(圆梦大厂)

序言 可能每个技术人都有个大厂梦&#xff0c;我也不例外。最近准备跳槽&#xff0c;前一阵子在准备各种面试&#xff0c;也面了几个大厂&#xff0c;其中包括字节、阿里 就以字节面试为例&#xff0c;面试总共花费了 20 天左右&#xff0c;包含了 4 轮电话面试、1 轮笔试、1 轮…

锐捷OSPF基础实验配置

目录 配置基础的邻居建立 配置Area4的虚链路 配置OSPF特殊区域 配置路由重分发 配置OSPF汇总 下发缺省路由 配置OSPF邻居认证 配置OSPF的网络类型 配置基础的邻居建立 以R1和R2建立邻居为例子&#xff08;其余设备邻居建立配置相同&#xff09; R1配置 int g0/0 no swi…

安泰测试-矢量网络分析仪有哪些应用?

网络分析仪可用于表征射频(RF)器件。尽管最初只是测量 S 参数&#xff0c;但为了优于被测器件&#xff0c;现在的网络分析仪已经高度集成&#xff0c;并且非常先进。 射频电路需要独特的测试方法。在高频内很难直接测量电压和电流&#xff0c;因此在测量高频器件时&#xff0c…

电话语音控件:AddTapi.NET 6.0 Crack

关于 AddTapi.NET 轻松地将电话 (TAPI) 功能添加到您的 C#、VB.NET 或 C 应用程序。 AddTapi.NET 支持 Microsoft 电话应用程序编程接口 (TAPI) 1.3 - 3.1&#xff0c;并适用于所有与 TAPI 兼容的电话硬件&#xff0c;从语音调制解调器到高级电话板再到与 TAPI 兼容的 PBX 系统…

2.9 Python 流程控制

文章目录1. 流程控制2. 顺序结构3. 伪代码4. 流程图4.1 顺序结构4.2 分支结构4.3 多分支结构4.4 循环结构1. 流程控制 流程控制: 控制程序按照一定的结构进行执行. 流程控制指的是代码的运行逻辑, 分支走向, 循环控制, 能真正体现程序执行顺序的操作.* 1966年计算机科学家 C.B…

pikachu---暴力破解(burpsuite)

没有设置认证策略的情况下&#xff0c;口令猜测就是尝试&#xff0c;永无尽头的尝试 符号的排列组合试到最后&#xff0c;总能得出最终结果&#xff0c;人类大脑和生理的限制&#xff0c;需要使用工具来尝试。 前言 浅学&#xff0c;借鉴&#xff0c;暂无代码分析。 基于表…

中职生学习动机的激发与培养研究-以汽车运用与维修专业为例

目 录 摘 要 I Abstract II 一、绪论 1 &#xff08;一&#xff09;选题背景及意义 1 &#xff08;二&#xff09;国内外研究现状 1 1.国外发展现状及趋势 1 2.国内发展现状及趋势 3 &#xff08;三&#xff09;研究思路及方法 3 二、学习动机的含义及基本类型 5 &#xff08;一…

python之requests的高级用法

上一篇我们说了requests的简单用法&#xff0c;知道了如何发送请求&#xff0c;今天我们更深层次的来学习requests。我们看看高级一点的操作&#xff0c;比如讲文件上传&#xff0c;cookies设置&#xff0c;代理设置之类的。 1.文件上传 我们知道requests可以模拟提交一些数据…

UE5笔记【七】Nanite虚化几何-虚化几何简介;创建Nanite对象。

简书上有一篇文章&#xff1a;《【UE5】Nanite解析》 Epic外放的两大特性Nanite跟Lumen&#xff0c;构成了UE版本升级的基石&#xff0c;关于这两大技术&#xff0c;已经有了众多的分享&#xff0c;不过这些分享在结构和内容上难以构成整个方案的全貌&#xff0c;因此尝试先通…

Zero Time Waste: Recycling Predictions in Early Exit Neural Networks 论文阅读笔记

这是NIPS2021的一篇论文。论文的主题是解决early exit失败的时候IC的运算被浪费掉的问题。 背景介绍 early exit 是一个提高推理速度的研究方向。主要做法就是在网络的浅层特征上插入一些分支的分类器&#xff08;Internal Classifier&#xff09;。当以某个简单样本为输入的时…

SpringBoot项目实现发布订阅模式

文章目录自己实现观察者模式观察者被观察者测试利用Spring精简观察者实现类&#xff1a;定义成Bean被观察者&#xff1a;自动注入BeanSpring Event实现发布/订阅模式自定义事件事件监听者实现ApplicationListener接口使用EventListener注解异步和自定义线程池异步执行自定义线程…

SSM框架-Spring(二)

目录 1 手写spring框架 2 Spring IoC注解式开发 2.1 回顾注解 2.2 声明Bean的注解 2.3 Spring注解的使用 2.4 选择性实例化Bean 2.5 负责注入的注解 2.5.1 Value 2.5.2 Autowired与Qualifier 2.5.3 Resource 2.6 全注解式开发 3 JdbcTemplate 3.1 环境准备 3.2 新…

深化服务成工业品电商角逐新焦点

配图来自Canva可画 随着产业互联网的持续深入&#xff0c;TO B赛道就变得愈发火热起来&#xff0c;除了时下比较兴盛的各类SaaS应用之外&#xff0c;工业品电商赛道也再次汇集了外界的众多关注。据日前发布的《中国工业品数字化发展白皮书2022》显示&#xff0c;2022年上半年工…