Spring |(四)IoC/DI配置管理第三方bean
文章目录
- 📚数据源对象管理
- 🐇环境准备
- 🐇实现Druid管理
- 🐇实现C3P0管理
- 📚加载properties文件
- 🐇第三方bean属性优化
- 🐇读取单个属性
学习来源:黑马程序员SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实用开发技术
📚数据源对象管理
🐇环境准备
- pom.xml添加依赖
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.10.RELEASE</version></dependency></dependencies>
- resources下添加spring的配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"></beans>
- 编写一个运行类App
public class App {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");}}
🐇实现Druid管理
需求:使用Spring的IoC容器来管理Druid连接池对象。
- 步骤1:导入
druid
的依赖,pom.xml中添加依赖。
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency>
- 步骤2:配置第三方bean,在applicationContext.xml配置文件中添加
DruidDataSource
的配置。- driverClassName:数据库驱动
- url:数据库连接地址
- username:数据库连接用户名
- password:数据库连接密码
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--管理DruidDataSource对象--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/spring_db"/><property name="username" value="root"/><property name="password" value="root"/></bean></beans>
- 步骤3:从IoC容器中获取对应的bean对象。
public class App {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");DataSource dataSource = (DataSource) ctx.getBean("dataSource");System.out.println(dataSource);}}
- 步骤4:运行程序。
🐇实现C3P0管理
需求:使用Spring的IoC容器来管理C3P0连接池对象。
- 步骤1:导入
C3P0
的依赖。pom.xml中添加依赖。
<dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency>
- 步骤2:配置第三方bean,在applicationContext.xml配置文件中添加配置(通过setter方式进行注入)。
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring_db"/><property name="user" value="root"/><property name="password" value="root"/><property name="maxPoolSize" value="1000"/></bean>
-
步骤3:运行程序
- 报错ClassNotFoundException,意思是
类没有发现的异常
,具体的类为com.mysql.jdbc.Driver
。错误的原因是缺少mysql的驱动包。解决方案:在pom.xml把驱动包引入。
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency>
- 重新运行
- 报错ClassNotFoundException,意思是
📚加载properties文件
之前完成了两个数据源
druid
和C3P0
的配置。这两个数据源中都使用到了一些固定的常量,把这些值写在Spring的配置文件中不利于后期维护。需要将这些值提取到一个外部的properties配置文件中。
🐇第三方bean属性优化
需求:将数据库连接四要素提取到properties配置文件,spring来加载配置信息并使用这些信息来完成属性注入。
- 步骤1:准备properties配置文件。resources下创建一个jdbc.properties文件,并添加对应的属性键值对。
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/spring_db jdbc.username=root jdbc.password=root
当有多个properties配置文件需要被加载时,就可以再建一个jdbc2.properties文件。
- 步骤2:在applicationContext.xml中开
context
命名空间。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"></beans>
-
步骤3:在配置文件中使用
context
命名空间下的标签来加载properties配置文件。<context:property-placeholder location="jdbc.properties"/>
ps:
<context:property-placeholder/>
标签会加载系统的环境变量,而且环境变量的值会被优先加载。解决方案:添加system-properties-mode="NEVER"
,表示不加载系统属性。<context:property-placeholder location="jdbc.properties" system-properties-mode="NEVER"/>
ps:多个配置文件的导入↓
<!--方式一:可以实现,如果配置文件多的话,每个都需要配置 --> <context:property-placeholder location="jdbc.properties,jdbc2.properties" system-properties-mode="NEVER"/> <!--方式二:*.properties`代表所有以properties结尾的文件都会被加载,可以解决方式一的问题,但是不标准--> <context:property-placeholder location="*.properties" system-properties-mode="NEVER"/> <!--方式三:标准的写法,`classpath:`代表的是从根路径下开始查找,但是只能查询当前项目的根路径 --> <context:property-placeholder location="classpath:*.properties" system-properties-mode="NEVER"/> <!--方式四:不仅可以加载当前项目还可以加载当前项目所依赖的所有项目的根路径下的properties配置文件--> <context:property-placeholder location="classpath*:*.properties" system-properties-mode="NEVER"/>
-
步骤4:完成属性注入。使用
${key}
来读取properties配置文件中的内容并完成属性注入。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><context:property-placeholder location="jdbc.properties"/><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean></beans>
🐇读取单个属性
需求:从properties配置文件中读取key为name的值,并将其注入到BookDao中并在save方法中进行打印。
- 步骤1:在项目中添对应的类。BookDao和BookDaoImpl类,并在BookDaoImpl类中添加
name
属性与setter方法。
public interface BookDao {public void save();}public class BookDaoImpl implements BookDao {private String name;public void setName(String name) {this.name = name;}public void save() {System.out.println("book dao save ..." + name);}}
- 步骤2:在applicationContext.xml添加配置,
bean的配置管理
、读取外部properties
、依赖注入
。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><context:property-placeholder location="jdbc.properties"/><bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl"><property name="name" value="${jdbc.driver}"/></bean></beans>
- 步骤3:运行程序。在App类中,从IoC容器中获取bookDao对象,调用方法,查看值是否已经被获取到并打印控制台。
public class App {public static void main(String[] args) throws Exception{ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");BookDao bookDao = (BookDao) ctx.getBean("bookDao");bookDao.save();}}
相关文章:
Spring |(四)IoC/DI配置管理第三方bean
文章目录 📚数据源对象管理🐇环境准备🐇实现Druid管理🐇实现C3P0管理 📚加载properties文件🐇第三方bean属性优化🐇读取单个属性 学习来源:黑马程序员SSM框架教程_SpringSpringMVCMa…...
Qt桌面应用开发 第六天(鼠标事件 定时器事件 定时器类 事件分发器 事件过滤器)
目录 1.1鼠标进入和离开enterEvent\leaveEvent 1.2鼠标按下释放和移动mousePressEvent\mouseReleaseEvent\mouseMoveEvent 1.3定时器事件timerEvent 1.4定时器类QTimer 1.5事件分发器event 1.6事件过滤器eventFilter 1.1鼠标进入和离开enterEvent\leaveEvent 事件&#x…...
MySQL-存储过程
目录 一、存储过程定义 二、存储过程创建 1、变量的定义 2、存储过程的分支语句 2.1 双分支IF语句 2.2 多分支IF语句 3、存储过程的循环语句 三、存储过程调用 四、存储过程显示和删除 一、存储过程定义 存储过程(Stored Procedure)是一种在数…...
数据指标与标签在数据分析中的关系与应用
导读:分享数据指标体系的文章很多,但讲数据标签的文章很少。实际上,标签和指标一样,是数据分析的左膀右臂,两者同样重要。实际上,很多人分析不深入,就是因为缺少对标签的应用。今天系统的讲解下…...
LWE详细介绍
LWE问题,即学习误差问题(Learning With Errors problem),是密码学中一个重要的硬问题,尤其在后量子密码学中占有核心地位。LWE问题由Regev在2005年提出,其设计基于格理论,被认为是一个在平均情况…...
Linux系统Docker部署开源在线协作笔记Trilium Notes与远程访问详细教程
目录 ⛳️推荐 前言 1. 安装docker与docker-compose 2. 启动容器运行镜像 3. 本地访问测试 4.安装内网穿透 5. 创建公网地址 6. 创建固定公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…...
【Spring MVC】初步了解Spring MVC的基本概念与如何与浏览器建立连接
前言 🌟🌟本期讲解关于SpringMVC的基础概念,以及如何实现与浏览器的连接,参数的传递~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 …...
游戏AI实现-决策树
代码实现: 定义一个决策树节点 class DecisionTreeNode{public DecisionTreeNode(){} } 定义一个行为类: class Action : DecisionTreeNode{ } 定义一个决策类: class Decision : DecisionTreeNode{ } 应用: 参考书…...
9个最佳WordPress PDF插件(查看器、嵌入和下载)
在过去的几年里,我们一直在使用不同的 PDF 插件在我们的网站上创建、编辑和嵌入文档。 然而,经过多次尝试和错误,我们意识到并不是每个插件都是相同的。事实上,为您的企业或电子商务网站选择合适的 PDF 插件可能是一项艰巨的任务…...
odoo18中模型的常用字段类型
字段的公共属性: Char 字符类型,对应数据库中varchar类型,除了通用类型外接收另外两个参数: size: 字符长度,超出的长度将被截断 trim: 默认True,是否字段值应该被去空白。 Text 文本类型,对应数据库…...
VUE 指令 事件绑定,.stop阻止冒泡
1、VUE 的模板语法和指令 目的增强html的功能 所有的指令以自定义属性的方式去写 v-xxx ,指令就是vue提供给我们能够更方便将数据和页面展示出来的操作,具体就是以数据去驱动DOM ,简化DOM操作的行为。 2、内容渲染指令 ① {{}} 模板渲染(模板引擎&am…...
在Excel中处理不规范的日期格式数据并判断格式是否正确
有一个Excel表,录入的日期格式很混乱,有些看着差不多,但实际多一个空格少一个字符很难发现,希望的理想格式是 1980-01-01,10位,即:“YYYY-mm-dd”,实际上数据表中这样的格式都有 19…...
webpack基础配置
文章目录 一、默认入口和默认出口二、资源配置三、输出文件3.1 多文件入口3.2 HtmlWebpackPlugin插件 四、环境4.1 环境变量4.2 热更新 五、代码分离5.1 公共模块5.2 懒加载5.3 预获取/预加载模块 六、缓存七、Tree Shaking八、公共路径 webpack 是一个用于现代 JavaScript 应用…...
stm32利用LED配置基础寄存器+体验滴答定时器+hal库环境配置
P1 LED控制与流水灯效果实现 概述 大家好,今天我们来学习一下如何在STM32上控制LED灯,并且实现一个流水灯的效果。这不仅是一个基础的实践,也是嵌入式开发中非常常见的需求。 LED控制 1. LED初始化 首先,我们需要对LED灯对应…...
Spark RDD sortBy算子执行时进行数据 “采样”是什么意思?
一、sortBy 和 RangePartitioner sortBy 在 Spark 中会在执行排序时采用 rangePartitioner 进行分区,这会影响数据的分区方式,并且这一步骤是通过对数据进行 “采样” 来计算分区的范围。不过,重要的是,sortBy 本身仍然是一个 tr…...
Ubuntu24.04下的docker问题
按官网提示是可以安装成功的,但是curl无法使用https下载,会造成下述语句执行失败 # Add Dockers official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https…...
Tri Mode Ethernet MAC IP核详解
本文对 Vivado 的三速 MAC IP 核(Tri Mode Ethernet MAC,TEMAC)进行介绍。 在自行实现三速以太网 MAC 控制器时,GMII/RGMII 接口可以通过 IDDR、ODDR 原语实现,然而实际使用中自己实现的模块性能不是很稳定(…...
【U盘车载音乐】某宝198的3068首车载专用音乐合集【高音质】24G
「【U盘车载音乐】某宝198的3068首车载专用音乐合集【高音质】24G」 复制下方口令,打开最新版「夸克APP」即可获取保存(防止和谐!!!) 口令: 动作懿范鉴真渡多好备用口令: /~19dc35…...
android 实现答题功能
一、效果 二、实现思路 1、界面实现 实现起来其实不难,首先我们可以看到,界面是由答题进度、题目、选项ABCD组成,现在就是要考虑实现方式,答题进度可以使用Textviewprogressbar实现,题目直接使用Textview,…...
JSONP处理跨域请求
JSONP 背景 由于浏览器存在安全策略,所以当访问的请求中的协议、域名、端口其中一个与本站不同时就会形成跨域,这里介绍一种比较简单的方案——jsonp。 原理 浏览器对 script、img这些带有src属性的的标签在发送请求时是不会触发跨域的校验ÿ…...
栈的应用,力扣394.字符串解码力扣946.验证栈序列力扣429.N叉树的层序遍历力扣103.二叉树的锯齿形层序遍历
目录 力扣394.字符串解码 力扣946.验证栈序列 力扣429.N叉树的层序遍历 力扣103.二叉树的锯齿形层序遍历 力扣394.字符串解码 看见括号,由内而外,转向用栈解决。使用两个栈处理,一个用String,一个用Integer 遇到数字:提取数字放入到数字栈…...
华为手机启用ADB无线调试功能
打开开发者模式,勾选USB调试,和“仅充电”模式下允许ADB调试 确认 设置添加adb路径到PATH变量 使用adb查看安卓设置 切换为无线模式: 查看手机IP...
HTML 元素类型介绍
目录 1. 块级元素(Block-level Elements) 2. 行级元素(Inline Elements) 3. 行内块级元素(Inline-block Elements) 4. 表格相关元素 5. 列表相关元素 6. 表单相关元素 示例代码 示例效果 编辑 …...
前端反向代理的配置和實現
反向代理是位於客戶端和服務器之間的一個中間層,它代表客戶端向伺服器發起請求,然後將伺服器的回應返回給客戶端。與傳統的正向代理不同,反向代理是由伺服器端配置的,客戶端通常不知道它的存在。在前端開發中,反向代理…...
日志分析工具
一、nginx_log_analysis工具 1、工具下载,http://linux5588.blog.51cto.com/,它是用python语言写的,只是用来分析nginx日志,它的输出比较简单,以IP为主,可以查看每个IP的访问的流量,次数&#…...
python: Serialize and Deserialize complex JSON using jsonpickle
# encoding: utf-8 # 版权所有 2024 ©涂聚文有限公司 # 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎 # Serialize and Deserialize complex JSON in Python # 描述:pip install jsonpickle https://github.com/jsonpi…...
【分布式锁解决超卖问题】setnx实现
目录 使用场景的描述 并发安全问题 悲观锁与乐观锁问题 一人一单的问题 服务器负载均衡问题 分布式锁 分布式锁的实现 获取锁 释放锁 实现思路 误删情况的分析 解决误删的方法 代码优化 分布式锁的原子性分析 文章代码地址:分布式锁1.0 使用场景的描述 今天的主人…...
【MySQL实战45讲笔记】基础篇——事务隔离
系列文章 基础篇——MySQL 的基础架构 基础篇——redo log 和 binlog 目录 系列文章1. 事务隔离1.1 隔离性与隔离级别1.2 如何实现事务隔离1.3 事务的启动方式1.4 思考: 使用什么方案来避免长事务 1. 事务隔离 简单来说,事务就是要保证一组数据库操作&…...
RFdiffusion calculate_igso3函数解读
calculate_igso3 函数旨在对 IGSO(3) 分布的概率密度函数 (PDF)、累积分布函数 (CDF)、以及相关统计量进行数值近似计算,特别用于预计算以加速后续操作(例如采样、反向扩散等)。 calculate_igso3函数源代码: def calculate_igso3(*, num_sigma, num_omega, min_sigma, ma…...
Vue3 + Vite 项目引入 postcss + tailwindcss
一、PostCSS 1. 简介 PostCSS 是一个强大的 CSS 处理工具,它本身是一个工具库,但其核心功能是通过插件扩展,来对 CSS 进行编译、转换和优化。它适用于现代 CSS 开发,提供更灵活、高效的方式来处理样式表。 2. 主要作用 增强 CS…...
AI Large Language Model
AI 的 Large Language model LLM , 大语言模型: 是AI的模型,专门设计用来处理自然语言相关任务。它们通过深度学习和庞大的训练数据集,在理解和生成自然语言文本方面表现出色。常见的 LLM 包括 OpenAI 的 GPT 系列、Google 的 PaLM 和 Meta…...
Linux系统性能优化技巧
系统性能优化 在当今的信息技术领域,Linux系统的性能优化变得越来越重要。随着Linux操作系统的广泛应用,从桌面环境到大型服务器集群,性能优化不仅可以提升系统的响应速度和吞吐量,还能降低资源消耗,从而延长硬件使用…...
基于CNN+RNNs(LSTM, GRU)的红点位置检测(pytorch)
1 项目背景 需要在图片精确识别三跟红线所在的位置,并输出这三个像素的位置。 其中,每跟红线占据不止一个像素,并且像素颜色也并不是饱和度和亮度极高的红黑配色,每个红线放大后可能是这样的。 而我们的目标是精确输出每个红点的…...
【AI系统】GPU 架构回顾(从2018年-2024年)
Turing 架构 2018 年 Turing 图灵架构发布,采用 TSMC 12 nm 工艺,总共 18.6 亿个晶体管。在 PC 游戏、专业图形应用程序和深度学习推理方面,效率和性能都取得了重大进步。相比上一代 Volta 架构主要更新了 Tensor Core(专门为执行…...
Vue 内置组件 keep-alive 中 LRU 缓存淘汰策略和实现
LRU(Least Recently Used,最近最少使用)是通过记录缓存项的访问顺序来决定淘汰的策略:当缓存满时,移除最久未被使用的项。 核心概念: 缓存存储:使用 Map 存储键值对,用于快速访问缓…...
联邦学习安全聚合算法综述(论文解析)以及如何确定自己研究方向的方法
自己写相关论文的方法: 可以重点看看综述类论文的未来研究方向和引言中前人已经做过的内容 联邦学习安全聚合算法综述 auth:江萍 1 通讯作者 李芯蕊 1 赵晓阳 2 杭永凯 摘要 摘要:随着深度学习技术的发展,人工智能在社会的各个方面有着重要…...
【JAVA 笔记】12 带有数据库文件的完整的JDBC访问例子,命令行界面
【JAVA 笔记】12 带有数据库文件的完整的JDBC访问例子,命令行界面 代码结构解析 1. 导入必要的包 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.sql.PreparedStatement; impo…...
基于java+SpringBoot+Vue的在线宠物用品交易网站设计与实现
项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven mysql5.7或8.0等等组成&#x…...
智慧社区管理系统平台提升物业运营效率与用户体验
内容概要 智慧社区管理系统平台是一个集成了多项功能的综合性解决方案,旨在通过先进的技术手段提升物业管理的效率和居民的生活质量。该平台不仅关注物业运营的各个方面,还强调用户体验的重要性。随着科技的发展,社区管理方式正发生着翻天覆…...
el-table-column自动生成序号在序号前插入图标
实现效果: 代码如下: 在el-table里加入这个就可以了,需要拿到值可以用scope.$index <el-table-column type"index" label"序号" show-overflow-tooltip"true" min-width"40">…...
深度学习之目标检测的常用标注工具
1 LabelImg LabelImg 是一款开源的图像标注工具,标签可用于分类和目标检测,它是用 Python 编写的,并使用Qt作为其图形界面,简单好用。注释以 PASCAL VOC 格式保存为 XML 文件,这是 ImageNet 使用的格式。 此外&…...
「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成
本篇将系统介绍Cangjie编程语言中程序的基本组成部分,涵盖 main 函数的定义、包与模块的使用、变量类型、作用域和代码结构原则,帮助开发者理解Cangjie程序的整体结构。 关键词 程序入口点main函数包与模块变量类型与作用域值类型与引用类型代码结构与规…...
【计算机网络】解决bind error
服务器有时可以立即重启,有时候无法立即重启 — bind error 首先要知道:四次挥手动作完成之后,主动断开连接的一方要维持一段时间的TIME_WAIT bind error原因:因为是服务器主动断开的,所以服务器要去维持TIME_WAIT状…...
【SVN和GIT】版本控制系统详细下载使用教程
文章目录 ** 参考文章一、什么是SVN和GIT二、软件使用介绍1 SVN安装1.1 服务端SVN下载地址1.2 客户端SVN下载地址2 SVN使用2.1 服务端SVN基础使用2.1.1 创建存储库和用户成员2.1.2 为存储库添加访问人员2.2 客户端SVN基础使用2.2.1 在本地下载库中的内容2.2.2 版本文件操作--更…...
初识 Pynecone:构建现代化 Web 应用的 Python 框架
初识 Pynecone:构建现代化 Web 应用的 Python 框架 引言 在 Web 开发的世界里,Python 是后端开发的常客,但如果想用 Python 直接构建现代化的前端应用会怎样?这正是 Pynecone 框架的用武之地!Pynecone 是一个全栈 Pyt…...
Go-RPC关键指标分析与企业实践
1.稳定性-保障策略 熔断:保护调用方 限流:保护被调用方 超时控制:避免浪费 2.稳定性-请求成功率(用重复发送 负载均衡) 3.稳定性-长尾请求(用备份请求) 4.稳定性-注册中间件 易用性:…...
社交电商专业赋能高校教育与产业协同发展:定制开发AI智能名片及2+1链动商城小程序的创新驱动
摘要:本文围绕社交电商有望成为高校常态专业这一趋势展开深入探讨,剖析国家政策认可下其学科发展前景,着重阐述在专业建设进程中面临的师资短缺及实践教学难题。通过引入定制开发AI智能名片与21链动商城小程序,探究如何借助这些新…...
Ubuntu下安装Qt
1.如图1所示,在Index of /archive上下载安装包; 图1 2.将图1安装包下载好之后,通过共享文件夹的方式拷贝到ubutntu,如图2所示; 图2 3.如图3所示,执行chmod x qt-creator-opensource-linux-x86_64-10.0.2.…...
《FreeRTOS任务删除篇》
任务删除函数 源码1. 进入临界区1.1 第一步1.2 第二步1.3 第三步1.4 第四步 2. 获取待删除任务的任务控制块TCB3. 从就绪/延迟列表中删除任务4. 从事件列表中删除任务5. 如果待删除任务是当前运行的任务6. 如果待删除任务是其它任务7. 退出临界区7.1 第一步7.2 第二步7.3 第三步…...
取电快充协议芯片,支持全协议、内部集成LDO支持从UART串口读取电压电流消息
H004D 是一款支持全协议的受电端诱骗取电协议芯片,支持宽电压输入 3.3V~30V,芯片内部集成LDO,可输出 3.3V电压, 支持 通过UART 串口读取电压电流,支持定制功能,芯片采用QFN_20封装,线路简单,芯片…...