- 博客(268)
- 收藏
- 关注
原创 SpringBoot基于RabbitMQ实现异步请求处理
本文介绍了SpringBoot集成RabbitMQ实现异步架构的方案。通过配置RabbitMQ连接参数、队列、交换机和绑定关系,搭建异步处理框架。项目采用三层架构设计:接口层负责请求校验、消息队列异步处理、业务层执行数据库操作。提供了Maven依赖配置、RabbitMQ详细配置类(RabbitConfig.java)以及数据传输对象(BusinessRequest.java和Result.java)的代码实现。该方案支持消息预取、自动确认、重试机制等特性,有效提升系统并发处理能力,实现业务请求的异步解耦。
2025-06-10 15:38:58
656
原创 SpringBoot 参数校验
本文介绍了如何使用Hibernate Validator框架进行RESTful API参数校验。主要内容包括:1)常用校验注解如@NotBlank、@NotNull、@Pattern等;2)20+内置校验注解的功能说明;3)参数校验实现步骤:添加依赖、在类上添加@Validated注解、在方法参数上使用@Valid注解。通过参数校验可以保证数据正确性,校验失败会返回400错误响应。
2025-06-10 09:20:31
825
原创 SpringBoot请求限流(RateLimiter)
本文介绍了一个基于Spring AOP和Redis的分布式限流器实现方案。该系统通过@RateLimiter注解实现声明式限流,核心组件包括注解定义、AOP切面和Redis DAO。RateLimiterAspect切面拦截注解方法,使用RateLimiterKeyResolver解析限流key,并调用RateLimiterRedisDAO进行Redis计数检查。Redis采用令牌桶算法实现精确限流,支持自定义限流策略和key生成规则,确保分布式环境下的高性能限流。系统还提供了灵活的错误处理和最佳实践指导,
2025-06-09 21:48:51
782
原创 SpringBoot API接口签名(防篡改)
本文介绍了基于Spring AOP的API签名校验机制,用于保障接口安全性。核心组件包括:1) 配置签名的@ApiSignature注解;2) 实现验证逻辑的ApiSignatureAspect切面;3) 处理防重放的Redis存储组件。该机制通过验证请求参数完整性、时效性(时间戳)和唯一性(nonce),并比对客户端与服务端签名来防止篡改和重放攻击。实现流程包括:请求拦截、参数验证、签名计算和Redis防重放处理,其中签名采用SHA256算法。整体设计采用注解配置方式,支持自定义超时时间和参数名称,具有较
2025-06-09 13:19:14
800
原创 Spring AI Alibaba本地集成百炼智能体应用
打开百炼控制台,如下图所示创建自己的智能体应用,详细应用创建步骤可参考 百炼官方文档。应用编辑完成之后,可在线可视化测试应用,如果最终测试符合预期,点击页面右上角的 “发布” 按钮,将智能体正式发布出去。发布完成后,我们就可以通过通过 API 与这个智能体应用进行对话了。接下来我们演示如何在 Spring Boot 应用中快速访问这个智能体应用。
2025-03-25 09:12:29
1375
1
原创 Spring AI整合DeepSeek、Ollama本地大模型
该项目旨在简化包含人工智能功能的应用程序的开发,而不会产生不必要的复杂性Spring AI 提供了抽象,作为开发 AI 应用程序的基础。这些抽象具有多种实现,支持以最少的代码更改轻松交换组件。Spring AI 提供以下功能:跨 AI 提供商的可移植 API 支持,用于聊天、文本到图像和嵌入模型。支持同步和流式处理 API 选项。此外,还可以访问特定于模型的特征。
2025-03-13 14:50:07
637
原创 Sa-Token实现企业权限系统
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。
2025-03-10 15:51:14
862
原创 SpringBoot对接支付宝支付
沙箱环境是支付宝开放平台为开发者提供的安全低门槛的测试环境,开发者在沙箱环境中调用接口无需具备所需的商业资质,无需绑定和开通产品,同时不会对生产环境中的数据造成任何影响。可以看到,调用成功后会返回支付链接,下面需要将支付链接转成二维码的形式,下面通过。对接支付宝的扫码支付,需要使用到支付宝提供的SDK,SDK有两种,分别是。(交易关闭),如果未退完所有交易金额,超过有效退款时间后交易状态转为。(交易成功),如果一直部分退款退完所有交易金额则交易状态转为。注意:交易成功后部分退款,交易状态仍为。
2025-02-13 16:38:15
1518
原创 SpringBoot对接微信支付
微信支付的接口分v2和v3版本,早期使用的是v2版本,目前推荐使用v3版本,v2与v3的区别如下:需要注意的是,微信并没有提供沙箱环境,只能使用正式环境的账号信息才能接口调试。1、商户下单获取订单的二维码链接code_url,将code_url转换为二维码图片展示给用户。2、用户使用微信“扫一扫”进行扫码(不支持通过相册识别或长按识别二维码的方式完成支付)。3、扫码进入到微信的支付确认界面,用户可在该页面确认收款方和金额。4、用户确认订单收款方和金额无误后,点击“立即支付”会出现验密界面(验证密码或指纹等)
2025-02-13 16:37:47
2062
1
原创 xxl-job快速入门
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2025-02-08 15:31:03
1137
1
原创 分布式锁详解
实现分布式锁,可以借助==redis==的`SETNX`命令完成,该命令设置值时,**如果key不存在,为key设置指定的值,返回1,如果存在返回0**,也就意味着相同的key只能设置成功一次,假设有多个线程同时设置值,只能有一个设置成功,这样就得到互斥的效果,也就可以达到锁的效果。
2025-02-08 11:53:18
898
原创 nvm下载及安装超详细步骤(附图文讲解!)
nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。
2025-02-05 15:25:19
2556
原创 自动化部署(三):项目管理平台
云效流水线 Flow 是一款企业级、自动化的持续集成和持续交付工具,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线的CI/CD全流程,帮助企业高质量、高效率的交付业务。应用场景:没必要自建机房部署代码托管、jekens,并且自己公司的产品部署在服务器上,完全可以利用云效平台进行自动话部署。
2025-01-22 16:28:47
1070
原创 自动化部署(二):Jenkins持续集成(CI/CD)
Jenkins是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软件。
2025-01-22 13:05:12
1450
原创 自动化部署(一):GitLab代码托管
GitLab是整个DevOps生命周期的第一个应用程序。其使用与GitHub类似,并且提供了许多DevOps相关的功能。GitLab提供无与伦比的可见性,更高的效率和全面的治理。这使得软件生命周期加快了200%,从根本上提高了业务速度。
2025-01-22 13:04:37
1080
原创 Redis-基础篇
键值型NoSql其中键值型,是指Redis中存储的数据都是以key.value对的形式存储,而value的形式多种多样,可以是字符串.数值.甚至json:而NoSql则是相对于传统关系型数据库而言,有很大差异的一种数据库。对于存储的数据,没有类似Mysql那么严格的约束,比如唯一性,是否可以为null等等,所以我们把这种松散结构的数据库,称之为NoSQL数据库。存储方式关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响。
2024-09-06 11:08:06
1050
毕业设计: 基于SpringBoot+Vue学生选课管理系统设计与实现(附完整前后端代码)
2024-01-24
毕业设计: 基于SpringBoot+Vue通用权限管理系统设计与实现(附完整前后端代码,数据库脚本)
2023-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人