- 博客(54)
- 收藏
- 关注
原创 SpringBoot接口防抖(防重复提交)的一些实现方案
在Spring Boot应用中,接口防抖(也称为防重复提交)是一个常见需求,特别是在处理表单提交、支付请求等敏感操作时。以上方案各有优缺点,选择哪种方案取决于具体需求和系统架构。例如,基于Token的方案实现简单,但依赖于Session;基于Redis的方案更适合分布式系统,但需要额外的Redis组件;基于AOP的方案灵活且易于维护,但需要一定的Spring AOP知识。
2025-01-27 10:58:49
527
原创 SpringBoot整合微信支付(后端篇)
此处我只用到了支付、支付回调、退款、退款回调,如果诸君需要对接微信订单查询等接口,自行编写,WxPayService.java。pom.xml引入jar包.
2025-01-23 16:58:48
402
原创 16个SpringBoot扩展接口详解
Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。想要把自动装配玩的转,就必须要了解spring对于bean的构造生命周期以及各个扩展接口。
2025-01-14 18:15:17
882
原创 常用的前端4种请求方式
主要针对于GET和POST请求:GET拼接url,POST传递body,get限制字符串长度请求缓存:GET 会被缓存,而post不会,原因是get是url的请求保留浏览器历史记录:GET可以,而POST不能,原因是get的url请求用处:get常用于取回数据,post用于提交数据安全性:post比get安全,是因为post是请求体,不会在url上被劫持!请求参数:querystring是url的一部分get、post都可以带上。
2025-01-14 17:18:51
1718
原创 三方接口调用设计方案
1、API密钥生成:为每个三方应用生成唯一的API密钥对(AK/SK),其中AK用于标识应用,SK用于进行签名和加密。例如:在语言模型中,编码器和解码器都是由一个个的 Transformer 组件拼接在一起形成的。AK:Access Key Id,用于标示用户。SK:Secret Access Key,是用户用于加密认证字符串和用来验证认证字符串的密钥,其中SK必须保密。通过使用Access Key Id / Secret> Access Key加密的方法来验证某个请求的发送者身份。
2024-07-11 18:23:55
1321
原创 SCP和Rsync远程拷贝的几个技巧
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考。
2024-07-09 18:35:39
1238
原创 VUE中ECharts提示框tooltip自动切换
使用VUE开发的数据大屏统计,又需要将 echarts的提示框 tooltip 实现自动切换,网上有个很简单的插件(echarts-tooltip-auto-show),使用教程简单分享给大家。自动每隔几秒切换tooltip,鼠标移入则停止并展示当前鼠标所指向的提示框。接着自定义一个参数,用来清除定时器,并写入调用方法(下图中,可清晰看出代码位置)// 自定义参数 用来清除定时器// 可调用clearLoop方法,清除定时器// 调用切换方法。
2024-07-09 17:41:07
666
原创 Element UI +Vue页面生成二维码的方法
margin). Default is 0.2. 用于计算 LOGO 大小的值, 过大将导致解码失败, LOGO 尺寸计算公式 logoScale。//在终端输入npm命令,安装二维码插件。logoSrc中间logo。
2024-03-12 23:01:37
3626
原创 MySQL、Oracle、PostgreSQL 数据库备份用的 Shell 脚本
首先,输出一些提示信息,然后获取当前时间,并设置日志文件路径、备份日期时间、保留文件的日期时间、本地备份路径、远端备份路径、Oracle 数据库服务器本机 IP、远端备份 IP、用户名、密码、告警邮箱变量。该脚本主要是用于在Linux系统上备份MySQL数据库,自定义数据库用户名、密码、IP 地址、远程备份服务器 IP、本地备份路径、远程备份路径、当前时间、7 天前的日期变量。然后,使用 exp 命令进行Oracle数据库的全量备份,并将备份文件保存在指定的本地备份目录路径中。
2024-01-11 11:14:04
1361
原创 Spring Boot 项目部署方案!打包 + Shell 脚本部署详解
正如上面小节说的,shell中的参数 package-name,activeProfile,boot-main 都是由mvn中profiles的properties中提供,是可变的参数,脚本代码本身不需要人工去修改,只需要变的是mvn的参数即可;其实shell脚本中包含有解压命令,但是我在打包时放在了zip中,所以只能通过手动解压了,当然可以调整;通过mvn中profiles来区分不同环境对应的配置文件夹,人工可以手动在idea勾选生成不同环境的包(推荐)
2023-11-16 22:48:10
978
原创 SpringBoot 快速实现 api 加密
该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密。首先我们当然是了解RSA加密RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。
2023-10-26 17:24:01
319
1
原创 Spring Boot 使用 Disruptor 做内部高性能消息队列
Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于 Disruptor 开发的系统单线程能支撑每秒 600 万订单,2010 年在 QCon 演讲后,获得了业界关注。;Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟;
2023-10-26 16:17:12
797
原创 MySQL创建用户与授权
pig’@‘%’;host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%顾名思义,该方法就是直接修改更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为"%"privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL。password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。‘pig’@‘%’;
2023-05-09 18:29:24
1128
原创 Spring Boot + Activiti 结合,实现工作流
这里写自定义目录标题一 介绍二 使用方法2.1.在使用activiti之前,在pom文件中引入相关依赖。2.2 编写activiti.cfg.xml配置文件三 流程引擎配置类:四 工作流引擎的创建4.1 默认创建方式4.2 一般创建方式:五 Activiti表说明六 Service服务接口6.1 Service创建方式6.2 Service总览6.2.1 RepositoryService6.2.2 Runtimeservice6.2.3 Taskservice6.2.4 Historyservice6.2
2023-04-10 10:49:25
1929
1
原创 一键生成数据库文档(持续更新)
文章目录一、简介二、特点三、文档生成支持四、文档截图五、使用方式5.1、普通方式5.1.1、 引入依赖5.1.2、编写代码5.1.3、Maven 插件六、扩展模块6.1、pojo生成功能6.1.1、功能简介6.1.2、编写代码6.2、常见问题七、项目地址一、简介我们经常会有编写数据库表结构文档的时间付出,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐,此工具可以一键生成数据库文档。二、特点简洁、轻量、设计良好多数据库支持多种格式文档灵活
2022-04-23 01:04:28
5160
原创 win10设置任务栏全透明、免安装第三方软件
win10设置任务栏全透明1,个性化里设置2,改注册表3重启资源管理器1,个性化里设置1,个性化里设置2,改注册表按WIN+R,输入 regedit 打开注册表进入: 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced右侧新建新建一个 DWORD(32位)值(D)然后将新建的,名字改为: TaskbarAcrylicOpacity注意,大小写不可错误,名称前后无空格改名以后
2022-04-17 01:56:48
2050
4
原创 常用免费 API 接口分享(持续更新)
聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。聚合的免费API接口数据:手机号码归属地API接口: https://www.juhe.cn/docs/api/id/11历史上的今天API接口: https://www.juhe.cn/docs/api/id/63股票数据API接口: https://www.juhe.cn/docs/api/id/21全国WIFI接口: https://www.juhe.cn/docs/api
2022-01-24 10:15:42
1371
原创 Nginx 如何封禁IP和IP段
Nginx不仅仅只是一款反向代理和负载均衡服务器,它还能提供很多强大的功能,例如:限流、缓存、黑白名单和灰度发布等等。在之前的文章中,我们已经介绍了Nginx提供的这些功能。今天,我们来介绍Nginx另一个强大的功能:禁用IP和IP段。1、禁用IP和IP段Nginx的ngx_http_access_module 模块可以封配置内的ip或者ip段,语法如下:deny IP;deny s
2022-01-13 21:49:21
4904
原创 几款实用的内网穿透工具(附加教程)
前言本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法。文章目录前言1、npc1.1 简介1.2 特点1.3 使用方法2、frp2.1 简介2.2 特点2.3 使用方法2.3.1 通过 rdp 访问家里的机器2.3.2. 通过 SSH 访问公司内网机器2.3.3. 通过自定义域名访问部署于内网的 Web 服务2.3.4. 对外提供简单的文件访问服务2.4 常用功能2.4.1 统计面板(Dashboard)2.4.2 加密与压缩2.4.3 TLS2.4.4 代理限速2.
2022-01-13 21:48:13
583
原创 windows使用bat脚本后台启动/停止和重启jar包服务
目录前言一、启动jar脚本二、停止jar脚本三、重启jar脚本前言前提:windows上安装 jdk一、启动jar脚本@echo offSTART "app" javaw -jar app-0.0.1-SNAPSHOT.jar示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、停止jar脚本以端口8080为例@echo offset port=8080for /f "tokens=1-5" %%i in ('netstat -ano^|fi
2021-10-25 10:53:09
2095
原创 把java程序注册为windows服务运行
目录一、 准备文件一、 准备文件以注册java程序 服务为例2、下载Windows Service Wrapperwinsw是一款可将可执行程序安装成Windows Service的开源工具,百度网盘链接:https://pan.baidu.com/s/1ZThpISNMZW895P5m9dKySg 提取码:8888蓝奏云链接:https://wws.lanzoui.com/iJTVrvmu8cdgithub:https://github.com/kohsuke/winsw/releases
2021-10-22 18:40:42
478
原创 异步调用方法, 注意事项, 解决方案
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言使用@Async 注解异步调用方法, 注意事项, 解决方案异步调用方法使用@Async@EnableAsync注解使用:1.在需要异步执行的方法上加上@Async注解2.在Spring的启动类上加上@EnableAsync注解否则异步不起作用一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):impor
2021-10-14 15:10:47
349
原创 使用Java开发在线生成pdf文档
目录一、介绍二、使用步骤1.引入库2.读入数据总结一、介绍在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票、订单的库存打印单、各种电子签署合同等等,以方便用户查看、打印或者下载。例如下图的电子发票!。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn
2021-10-14 15:08:54
593
1
原创 跨库数据备份还原、迁移工具
目录前言一、测试数据准备二、使用步骤1.引入库2.代码结构3.代码部分3.1 数据库备份、迁移-db_backup.py3.2 数据库参数配置-settings.py3.3 日志记录模块-logging_conf.py3.4 数据库连接和路径获取工具-tools.py前言数据开发过程中,为了确保生产数据库安全,一般将实时数据同步、备份到本地测试数据库完成开发工作,最后部署应用。本文实际业务场景:需要从客户处的生成数据库(如mysql数据库)备份数据表到本地的一个sqlserver库中,将生产数据库
2021-10-08 18:54:07
282
原创 解决支付订单,重复提交问题!
这里写自定义目录标题欢迎使用Markdown编辑器功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdow
2021-10-08 18:43:38
577
原创 工具类搞定CRUD的创建人,修改人,时间等字段赋值
文章目录前言一、核心代码二、代码介绍及注解说明1.代码介绍2.注解说明前言数据库设计过程中,我们往往会数据库表添加一些通用的场景,比如创建人、创建时间、修改人、修改时间,设计过程中,有时会强制要求每个表过程需要包含这些基础信息,为了记录数据操作时的一些基本日志记录。一般的做法是输出写sql时,将这些和对象的基本信息同时写入数据,如果所有的表都进行了这样的操作,还不免有点啰嗦。本文结合了aop思想,了解了下springboot框架下的思想介绍如何切面编程实现将创建人、创建时间、更新人、更新时间等基
2021-09-28 00:44:28
401
原创 SpringBoot 线程池
提高响应速度目录前言一、使用步骤1.配置线程池2.创建接口3.实现类4.注入5.测试前言Spring Boot项目,可以用Spring提供的对ThreadPoolExecutor封装的线程池ThreadPoolTaskExecutor,直接使用注解启用。一、使用步骤1.配置线程池先创建一个线程池的配置,让Spring Boot加载,用来定义如何创建一个ThreadPoolTaskExecutor,要使用@Configuration和@EnableAsync这两个注解,表示这是个配置类,.
2021-09-08 14:21:57
565
原创 云盘秒变本地磁盘
这里写自定义目录标题欢迎使用Markdown编辑器软件安装软件介绍①实现本地播放② 实现本地下载③实现本地上传④实现新建文件与整理文件欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。软件安装下载地址:蓝奏:https://softxm.lanzoui.com/b01oimu5g 密码:chd1百度链接: https://pan.baidu.
2021-09-01 22:09:52
3280
原创 关系型数据库设计
摘要本文讨论关系数据库设计相关的一些内容,涉及关系模型,表结构设计等内容,本文基于MySQL数据库为基础,适合有一定关系型数据库基础的人阅读。文章目录摘要前言一、实体-关系模型(E-R)二、关系表设计1.Boyce-Codd范式2.第三范式三 存储引擎的选择如何选择?四 字符集选择如何选择?五 数据类型的选择选择原则1、char 与 varchar2、text 和 blob3、浮点数和定点数4、整数六 索引设计设计原则前言本文讨论关系数据库设计相关的一些内容,涉及关系模型,表结构设计等内容,
2021-09-01 19:04:03
348
原创 Java实现pdf和Excel的生成及数据动态插入、导出
Excel、PDF的导出、导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策。目录前言一、第一步:PDF制作模板a.Word里面制作模板二、使用步骤1.引入库2.读入数据总结前言现在有这么两个需求:需求一、给了一个表单,让把查出来的数据组装到表单中并且提供以PDF格式的下载功能。需求二、将数据查出来以Excel表格的形式下载下来。一、第一步:PDF制作模板因为PDF常用的软件不让支持编辑,我们就先使用WPS以Word的形式
2021-09-01 18:14:42
174
原创 使用Redis实现电商系统的库存扣减
目录1 解决方案2分析2.1基于数据库单库存2.2基于数据库多库存2.2.1基于数据库来实现扣减库存还存在的一些问题:2.3基于redis3基于redis实现扣减库存的具体实现3.1 初始化库存回调函数(IStockCallback )3.2 扣减库存服务(StockService)3.3 调用在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。1 解决方案使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。还是使用数据库,但是将库
2021-08-31 19:00:11
286
原创 Oracle数据库查询表空间在硬盘占用情况
SELECT A.TABLESPACE_NAME 表空间名称, Round( A.BYTES, 2 ) "总空间(G)", Round( B.BYTES, 2 ) "未用空间(G)", Round( A.BYTES - B.BYTES, 2 ) "已用空间(G)", ROUND( ( ( A.BYTES - B.BYTES ) / A.BYTES ) * 100, 2 ) "使用率%" FROM ( SELECT TABLESPACE_NAME, SUM( BYTES ) / ( 1024 *
2021-08-24 17:17:46
1764
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人