Spring Native
使用场景 将springboot项目直接打包成exe,本地执行
安装graalvm
下载
配置环境变量
Path配置到bin目录
JAVA_HOME配置到根目录
java -version 校验
使用gu安装native-image
1gu install native-image
1native-image --version
安装c++环境
下载Visual Studio Installer
安装
c++桌面版
语言选择英语
插件安装MSVC 2017相关的
win11 SDK 安装
新建spring3.x项目打包exe
项目根目录打开 x64 Native Tools Command Prompt for VS 2022 控制台(c++环境安装后就有了)
注:使用其的原因是其可以支持输入很长的命令
1mvn -Pnative native:compile
补充存在引入本地文件的情况
pom
12345678910111213141516171819202122232425262728<plugin> <groupId>o ...
flowable新理解
部分
流程
应用程序
任务
注:
1.创建流程 -> 创建应用程序 ->开启任务 -> 用户任务提交和完成
2.启动程序的时候会校验是否已经创建表,若不存在则会创建
3.创建流程的时候不止可以指定单人,也可以指定组
4.一个流程可以创建多个流程定义
API相关
ProcessEngine 管理整个流程引擎
RepositoryService 管理流程定义
RuntimeService 管理流程实例
TaskService 管理流程任务
整合
maven配置
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent< ...
python-django框架
环境搭建
安装python并配置环境变量
安装插件python、django
pip 安装 django
1pip install django
注:遇到升级情况
1python -m pip install --upgrade pip
初始化项目
初始化
1django-admin startproject 项目名
创建app文件夹
1python manage.py startapp main
创建虚拟机环境
1python -m venu venv
设置解释器为venv中的python.exe(也可以不设置)
启动项目
1python manage.py runserver
增删改查(简单实现)
引入插件
1pip install mysqlclient
配置数据库连接 settings.py
1234567891011DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysq ...
elasticsearch
下载和安装
官网下载
docker 下载
1docker pull docker.elastic.co/elasticsearch/elasticsearch:8.4.3
启动
1docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" ce2b9dc7fe85
设置相关参数
设置跨域以及ip地址
123http.cors.enabled: truehttp.cors.allow-origin: "*"network.host: 127.0.0.1
设置用户名和密码
1.\elasticsearch-reset-password --username elastic -i
常见的Restful请求操作名词解释
索引(相当于mysql的数据库)
类型(相当于mysql的表)
文档(相当于mysql的行)
字段(相当于mys ...
参数接收
HttpServletRequest
12//单个参数接收request.getParameter("name");
123//map接收对象Map<String, String> parameterMap = request.getParameterMap();String name = parameterMap.get("name");
1234567//stream接收流BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));String line = "";String body = "";while((line = reader.readLine()) != null){ body += line;}
@RequestBody 接收对象常用于Post
@RequestParam 接收url问号后面的参数
@PathVar ...
Mybatis流式查询
使用Mybatis的Cursor
代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869import org.apache.ibatis.cursor.Cursor;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.su ...
ESP8266
接入小爱控制引脚4
通过wifi连接点灯科技
将点灯科技设备接入米家
小爱同学通过命令发送不同的操作指令控制灯
APP软件有
- 电灯-blinker
- 米家
- 小爱音响
[ESP8266引脚图](ESP8266 GPIO 的指南:引脚图 - 哔哩哔哩 (bilibili.com))
[点灯科技引入](点灯科技 (diandeng.tech))
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#define BLINKER_WIFI //用于指定设备接入方式 wifi 接入#define BLINKER_MIOT_LIGHT#define BLINKER_MIOT_OUTLET#define BLINKER_MIOT_SENSOR#define BLINKER_MIOT_FAN#define BLINKER_M ...
seata
优秀博客文章
名词解释(个人理解)
TM(发起者和决策者) Transaction Manager
负责开启全局事务,以及决定全局事务提交和回滚
TC(组织者) Transaction Coordinator
协调全局事务的提交和回滚
RM(执行者) Resource Manager
负责分支事务的注册和状态汇报,以及控制分支事务的提交和回滚
流程
TM向TC发起全局事务,TC返回全局事务的id给TM
RM向TC注册分支事务,TC返回分支事务的id给RM
RM预执行,并将结果汇报给TC
TM根据所有的分支决策全局回滚和全局提交
RM执行全局执行和全局回滚
注:理解
基于XA协议的,mysql和oracal都存在XA协议,纯数据库的回滚和提交就可以满足业务的
基于补偿的,需要编码做冲正处理
强一致性,执行完一个才执行下一个
springboot整合seata
官网[下载](GitHub - seata/seata: Seata is an easy-to-use, high-performance, open source distributed t ...
kafka
构成:
生产者 productor
消费者 consumer
消息服务器 broker
流程
生产者将消息push到消息服务器,consumer从消息服务器去pull消息
名词解释
消费者组
一个消费者组由多个消费者组成
topic 主题(事件流)
partition 分区(topic可分为多个存储在partition中)
record 内容(即message)
下载
[下载](Apache Kafka) kafka
windows启动
启动zookeeper
1zookeeper-server-start.bat ..\..\config\zookeeper.properties
启动kafka
1kafka-server-start.bat ..\..\config\server.properties
代码整合
依赖
12345678910111213141516<!--spring-kafka 依赖--><dependency> <groupId>org.springframework.kafka&l ...
获取win的共享文件
场景:实际业务中有图片存储在windows电脑上且文件的访问权限只限于windows的共享,微服务是在同一网段的linux上面,前端请求获取文件信息
依赖
12345<dependency> <groupId>org.samba.jcifs</groupId> <artifactId>jcifs</artifactId> <version>1.2.19</version></dependency>
实际代码
1234@GetMapping("getWinFile")public void getWinFile(HttpServletResponse response,String fileName){ tscWinFileService.getWinFile(response,fileName);}
12345678910111213141516171819202122232425262728293031323334 ...