- 博客(73)
- 收藏
- 关注
原创 Linux安装docker教程
本文提供了Docker在CentOS系统上的完整安装配置指南。主要内容包括:1) 查看系统版本和内核版本;2) 安装依赖包并配置阿里云Docker镜像源;3) 安装Docker CE并设置开机启动;4) 配置多镜像加速器和DNS设置;5) 安装Portainer可视化管理工具并创建数据卷。文中详细列出了各步骤所需的命令,如系统信息查询、yum安装、服务管理、镜像拉取和容器启动等操作指令,帮助用户快速完成Docker环境部署和可视化界面配置。
2025-12-19 11:11:01
252
原创 安装-GitLab
本文介绍了在CentOS 7.4系统上安装GitLab 17.7.7的完整步骤:首先安装SSH、Postfix等必要依赖并配置服务;然后通过下载RPM包或YUM源方式安装GitLab;接着修改配置文件设置访问端口为82;最后重载配置并启动服务。安装完成后需开放防火墙端口并通过浏览器设置管理员密码。整个过程包含服务配置、软件安装、防火墙设置等关键环节,为搭建GitLab代码托管平台提供了详细指导。
2025-11-04 11:44:43
153
原创 JAVA自定义 号段ID生成器
摘要: 号段ID生成器是一种高性能分布式ID生成方案,通过批量获取号段(如1-1000)并在本地分配ID,减少对中心系统的频繁访问。方案包含:1)数据库建表存储业务标识、当前最大ID和步长;2)初始化配置业务号段(如商品从1亿开始);3)实现核心生成逻辑,采用乐观锁保证并发安全;4)封装工具类供业务调用。适用于订单、用户ID等场景,兼顾性能与扩展性,避免ID重复和性能瓶颈问题。
2025-11-04 11:28:59
452
原创 RabbitMq之直连模式-笔记
摘要: 本文展示了Spring Boot中RabbitMQ的完整配置与使用流程。首先配置了连接参数(YML)并添加AMQP依赖,然后定义了交换机、队列和路由键常量。通过配置类声明了DirectExchange、Queue和Binding,并实现BeanPostProcessor确保初始化。生产者使用RabbitTemplate发送消息到指定交换机,消费者通过@RabbitListener注解监听队列处理消息。整个方案实现了RabbitMQ的基本收发功能,包含自动创建交换机和队列的机制。
2025-10-03 10:32:29
105
原创 RabbitMq之广播模式-笔记
本文介绍了Spring Boot集成RabbitMQ的完整配置方案。主要包括:1) YML配置RabbitMQ连接参数;2) 必要的AMQP依赖;3) 声明交换机和队列的配置类;4) 自定义RabbitMQ监听工厂,支持多线程处理;5) 生产者通过RabbitTemplate发送消息;6) 消费者使用@RabbitListener注解接收消息并处理。该方案实现了基于Fanout交换机的消息发布/订阅模式,包含完整的生产消费流程和线程池配置。
2025-10-03 10:13:47
283
原创 Nginx + Certbot配置 HTTPS / SSL 证书(简化版已测试)
本文介绍了使用Certbot工具为Nginx服务器配置HTTPS证书的完整流程。在已安装Nginx并开放80/443端口的前提下,通过yum安装Certbot及其Nginx插件,使用certbot --nginx -d yourdomain命令签发证书。文章还详细说明了证书续订方法:包括测试续订(--dry-run)、真实续订和自动续订配置(通过crontab计划任务每月自动执行续订并重载Nginx)。最后提醒签发后需重启Nginx使SSL配置生效。
2025-08-28 11:45:32
594
原创 MD5工具类(记录)
该代码实现了一个MD5加密工具类,包含以下功能: 提供md5()静态方法对输入字符串进行加密处理 使用UTF-8编码处理输入字符串 将加密后的字节数组转换为16进制字符串 包含测试代码,验证"hello"和空字符串的加密结果 处理可能出现的算法异常和编码异常 特点是:代码简洁,正确处理了字节到16进制的转换,并确保每个字节都转换为两位16进制数。
2025-08-25 16:38:03
216
原创 Java 中使用 AES-GCM(AES/GCM/NoPadding)进行加密与解密的完整实现
本文介绍了基于Java的AES-256-GCM加密实现。该工具类使用256位密钥(32字节)和12字节初始化向量(IV),支持加密和解密功能。加密时随机生成IV,将IV与密文组合后Base64编码;解密时分离IV和密文进行验证和解密。示例展示了加密字符串"Java AES-256-GCM 加密测试"并成功解密的过程。注意实际应用中密钥需安全存储,每次运行生成的密钥不同会导致之前加密内容无法解密。该实现采用GCM模式提供认证加密功能,默认使用128位认证标签(16字节)。
2025-08-25 16:26:20
669
原创 Java 实现 AES 加密与解密(AES-256 / CBC 模式 / PKCS5Padding)
该代码实现了AES-256-CBC模式的加密解密功能。使用Java的javax.crypto包,主要包含以下方法:生成32字节随机密钥和16字节初始化向量(IV);加密方法将明文与IV组合后输出Base64编码结果;解密方法从Base64数据中提取IV并解密。示例演示了加密字符串"Java AES-256 加密测试"并成功解密还原的过程。关键点包括:CBC模式需要唯一IV,PKCS5填充方式,以及将IV和密文组合存储的常见做法。运行结果验证了加密解密流程的正确性。
2025-08-25 16:23:31
434
原创 docker 安装配置 redis
摘要:本文介绍使用Docker部署Redis的完整流程,包括拉取官方镜像(推荐指定版本)、创建配置文件目录、编写redis.conf配置文件(含端口、密码、持久化等关键配置),以及通过docker run命令启动容器并挂载配置和数据卷。还提供了进入redis-cli测试连接的方法,适合需要快速部署Redis的生产环境参考。
2025-08-25 15:27:36
315
原创 一键脚本:自动安装 Nginx + Certbot + HTTPS(Let‘s Encrypt)
本文介绍了一个自动化脚本setup_nginx_https.sh,用于在CentOS 7系统上一键部署Nginx并配置HTTPS。脚本主要功能包括:自动安装Nginx、Certbot工具,配置SSL证书(通过Let's Encrypt),设置防火墙规则,以及配置证书自动续期。使用前需以root权限运行,并指定域名参数(可带www前缀)。执行后会自动完成从系统更新到HTTPS配置的全流程,最终生成Nginx配置文件和SSL证书,并测试自动续期功能。该脚本简化了Web服务器安全部署过程,适合快速搭建支持HTTP
2025-08-25 10:16:55
337
原创 Nginx + Certbot配置 HTTPS / SSL 证书
本文介绍了在已安装Nginx的服务器上使用Certbot自动获取SSL证书并配置HTTPS的完整流程。主要内容包括:安装EPEL仓库和Snapd工具,配置环境变量,通过Snap安装Certbot及其Nginx插件,最后使用Certbot为指定域名自动获取SSL证书并修改Nginx配置。文章还强调了测试证书自动续期功能的重要性,以确保Let's Encrypt的90天有效期证书能够定期更新。整个过程实现了从HTTP到HTTPS的一键式自动化配置。
2025-08-25 09:52:21
1097
原创 Linux 安装 Nginx命令
本文提供了在CentOS 7系统上安装Nginx的完整步骤指南。首先确认系统版本,更新软件包并安装EPEL仓库。然后配置Nginx官方源,安装Nginx并启动服务。接着设置防火墙放行HTTP/HTTPS端口,最后验证配置并重启服务。整个过程包含详细的命令和预期输出,确保用户能够顺利完成Nginx的安装和基础配置。
2025-08-25 09:26:22
511
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-退款结果回调(修复版已测试)
本文实现微信支付退款结果回调功能。通过/refundCallback接口接收微信通知,包含验签逻辑验证请求合法性。核心处理流程为:1)解析回调参数为RefundResourceVO对象;2)校验退款状态为"SUCCESS";3)根据refundId查询本地订单;4)更新订单状态及退款信息。系统采用XML格式响应微信,验签失败返回FAIL,处理成功返回SUCCESS。代码包含请求体获取、签名验证、订单状态更新等完整处理链,并处理了重复通知和异常情况。
2025-08-22 11:37:43
238
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-微信支付回调(基于NotificationParser )修复版
摘要: 本文介绍了微信支付V3回调接口的改进实现,主要包括配置、解析和验签流程。通过WechatConfig类加载微信支付参数和证书,使用NotificationParser自动验签和解密回调数据,将解密后的支付结果映射到TransactionResourceVO实体类。在payCallback方法中验证签名并处理支付成功事件,更新订单状态。改进后的方案解决了之前映射错误的问题,确保回调处理的安全性和可靠性。
2025-08-22 11:00:49
594
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-退款结果回调
本文摘要: 微信支付退款回调处理流程包括:1) 通过Controller接收回调请求;2) 在Service层进行验签和业务处理。核心逻辑是:首先验证微信回调签名,然后解析事件类型,对加密数据进行解密处理,最后更新本地退款订单状态。系统针对不同状态(处理中、成功、关闭)进行差异化处理,并返回相应的XML响应。验签过程通过解析请求头中的序列号、时间戳等参数完成,数据解密采用AES-GCM算法。整个流程包含异常处理机制,确保系统稳定性。
2025-08-21 17:46:14
212
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-退款申请
摘要:本文介绍了微信支付退款功能的实现方案,包含DTO参数定义、Controller接口和Service业务逻辑。代码展示了如何通过微信支付SDK发起退款请求,并将退款结果信息(包括金额、时间、资金账户等)保存到数据库。Service层处理了异常情况并记录日志,使用工具类进行对象转换和日期格式化。该实现支持原订单金额、退款金额等核心退款参数的传递和处理。
2025-08-21 17:38:04
193
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-基础配置
本文介绍了微信小程序支付功能的配置实现,包括支付下单、回调处理、退款等流程。主要内容包括:1)添加微信支付SDK依赖;2)配置yml文件中的参数(小程序ID、商户信息、证书路径、回调地址等);3)创建WechatConfig配置类,通过@Bean注解初始化支付服务(JSAPI)、退款服务、通知解析器等核心组件。配置类使用RSAAutoCertificateConfig构建安全配置,并读取私钥文件内容。该方案实现了微信支付全流程的集成,支持自动验签和解密功能。
2025-08-21 17:31:40
269
原创 地址解析工具类(记录)
这两段代码实现了一个地址解析功能。第一段定义了一个WSSsdrAddress类,包含省、市、区等地址字段;第二段AddressUtil工具类提供地址解析方法,通过正则表达式将地址字符串拆分为省市区等组成部分,并封装成WSSsdrAddress对象返回。主要特点: 使用正则表达式匹配地址中的各级行政区划 支持处理省、自治区、特别行政区等多种地址格式 将解析结果存入Map并封装为对象返回 采用工具类设计模式,提供静态解析方法 该实现可用于处理用户输入的复杂地址信息,提取出结构化的地址组成部分。
2025-08-20 16:29:05
219
原创 微信小程序授权登录+JWT
本文介绍了一个基于JWT的身份验证实现方案。使用jjwt 0.9.1版本构建JWT工具类,包含生成Token和解析OpenId功能,Token有效期为7天。通过拦截器实现请求鉴权:检查请求头中的Bearer Token,解析出OpenId后查询用户信息,验证失败返回401错误。配置类将拦截器注册到Spring MVC,仅拦截/api/**和/auth/**路径的请求。该方案简单实用,适合需要兼容旧版jjwt的系统。
2025-08-20 14:03:21
298
原创 http请求工具类JSON参数+请求体带token(记录)
这是一个Java HTTP客户端工具类,主要封装了POST和GET请求方法。包含三个核心方法:两个sendPost()重载方法(支持Authorization和Cookie认证)和一个sendGet()方法。所有方法都使用HttpURLConnection实现网络请求,支持JSON格式数据传输,设置请求头(Content-Type/Authorization/Cookie),处理UTF-8编码,并通过日志记录请求和响应数据。异常处理采用打印堆栈跟踪方式,连接使用后会自动断开。该类适用于需要与RESTful
2025-08-18 17:51:45
352
原创 微信小程序授权登录(记录)
本文实现了一个微信授权登录功能。代码分为前后两个版本,前版本实现了基础微信登录功能,后版本进行了增强改进。 前版本核心流程: 通过DTO接收前端传入的code和用户信息 调用微信接口获取openid 根据openid查询/创建用户 返回用户信息 后版本改进点: 增加手机号解密功能(需encryptedData和iv参数) 增加JWT token生成 更完善的错误处理 返回结果包含token和用户信息 微信配置从配置文件中读取,包含appId和appSecret等关键信息。整个流程实现了微信小程序用户认证与系
2025-08-18 17:48:51
248
原创 微信关闭订单
本文展示了一个Java实现的订单关闭功能。通过REST接口接收用户ID,调用服务层方法完成订单状态更新和微信支付订单关闭。服务层方法包含数据库事务处理,先查询订单信息,更新状态为2(已关闭),再调用微信支付API关闭对应交易。整个流程保证了数据一致性和支付系统同步,体现了典型的业务处理模式。
2025-08-18 17:17:20
242
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-微信支付回调(基于NotificationParser )
本文介绍了微信支付V3版本回调处理的实现方案。系统通过Controller层接收回调请求并转发至Service层处理。Service层主要包含四个核心功能:1) 验签验证,通过解析请求头中的签名信息确保请求合法性;2) 事件类型检查,过滤非支付成功事件;3) 数据解密处理,支持自动和手动两种解密方式;4) 订单状态更新,根据支付结果修改订单状态。系统采用XML格式返回处理结果,包含成功和失败两种响应模板。整个流程通过异常捕获机制确保稳定性,并通过日志记录关键操作信息,便于问题排查。
2025-08-18 17:12:07
515
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-微信支付回调(手动解密)
本文介绍了微信支付V3回调接口的实现方案。Controller层提供基础HTTP接口,Service层包含核心处理逻辑:1) 获取并验证请求签名;2) 解析JSON请求体;3) 解密加密的支付结果数据;4) 校验交易状态并更新订单状态。关键实现包括签名验证、AES-GCM解密算法处理,以及异常处理和正确的XML响应格式。该方案确保了支付回调的安全性和可靠性,符合微信支付V3接口规范。
2025-08-18 16:52:05
324
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-商户订单号查询微信订单
本文展示了一个基于Spring Boot的微信支付查询接口实现。通过@GetMapping注解定义查询接口,调用apiService服务层方法查询订单信息。服务层方法selectOrderByOutTradeNo构建微信支付查询请求对象,设置商户号和商户订单号后,调用微信支付API获取交易详情。代码结构清晰,实现了支付订单查询的核心功能。
2025-08-18 13:14:51
227
原创 JAVA 微信小程序v3最新版本0.2.17(保姆级)-微信下单
本文介绍了微信支付SDK的Java集成方案。主要内容包括:1) Maven依赖配置微信支付SDK;2) YML文件配置微信支付参数(APPID、商户号、API密钥等);3) 微信支付配置类实现,通过RSAAutoCertificateConfig自动管理证书;4) 创建JsapiServiceExtension服务;5) 业务实体类设计,包含订单基础信息和商品项。配置类支持自动读取私钥文件,并提供了RestTemplate的Bean。该方案适用于大多数支付场景,但需注意JDK版本要求(8u161及以上)。
2025-08-18 13:10:14
1198
原创 Shell脚本自动拉取Git仓库代码打包部署
这是一个自动化部署Java应用的Shell脚本。主要内容包括:1) 从Git拉取最新代码;2) 使用Maven构建应用;3) 替换旧的JAR包;4) 优雅终止旧进程;5) 启动新JAR包进程并重定向日志输出。脚本采用严格模式(set -e),每步操作都有错误检测,终止旧进程时先尝试正常终止(SIGTERM),失败后强制终止(SIGKILL)。最后提示用户可以通过tail命令查看实时日志。执行方式为运行"sh start.sh"。
2025-07-09 18:09:54
440
原创 编写Shell脚本开放端口
摘要: 本文提供两个firewalld端口开放脚本:1)基础版仅支持单端口,无校验;2)增强版支持批量输入(逗号分隔)、端口有效性验证(1-65535)及错误处理。两个脚本均实现端口永久开放和规则重载功能,增强版额外提供格式化端口列表输出。使用时保存为.sh文件,执行./脚本名或sh 脚本名即可。增强版特别适合批量操作,能自动过滤无效输入并显示详细结果。
2025-07-09 17:36:31
239
原创 ReentrantLock 实现的分布式锁示例
ReentrantLock 是 Java 中的一个可重入互斥锁,它提供了与 synchronized 关键字类似的同步功能,但具有扩展功能。ReentrantLock 支持公平和非公平的锁获取方式,还提供了条件变量、锁超时和中断等功能。锁超时:通过 tryLock(long timeout, TimeUnit unit) 方法实现锁的超时获取。中断响应:lockInterruptibly() 方法允许线程在等待锁的过程中响应中断。公平性:可以选择公平锁(按照线程请求顺序获取锁)或非公平锁(允许插队)。
2024-10-23 13:21:02
461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1