自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 深入解析 @RequestMapping 及其衍生注解:原理、用法与最佳实践

是 Spring MVC 的请求映射核心,通过路径、方法、参数等条件精准匹配请求,而衍生注解则简化了特定 HTTP 方法的配置,使代码更符合 RESTful 规范。合理使用这些注解可提升接口的可维护性、可读性和安全性,尤其在复杂场景中,结合路径参数、请求头、正则表达式等功能,能实现细粒度的请求处理逻辑。核心价值清晰的语义:衍生注解明确接口的 HTTP 方法语义,降低团队沟通成本。灵活的匹配支持复杂条件组合,满足多样化需求。规范的设计:遵循 RESTful 风格,提升 API 的可扩展性和一致性。

2025-04-17 12:24:19 254

原创 WebSocket 结合消息中间件的实时通知架构设计

通过WebSocket + 消息中间件的架构,实现了低延迟、高可靠的实时通知系统。该设计解耦了业务逻辑与消息推送,利用中间件的持久化和路由能力保障消息可达性,结合集群化部署和监控体系,适用于电商、IM、物联网等实时交互场景。

2025-04-17 11:12:37 509

原创 消息通知模块设计文档

用户操作触发业务事件(如审批拒绝)→ 生成消息记录 → 写入数据库 → 异步推送至消息队列(如RabbitMQ/Kafka)→ 消费者处理多渠道分发。:提供RESTful API接口,返回VO(View Object)对象,屏蔽数据库细节,适配前端展示需求。:消费状态(未读/已读/忽略)、处理状态(未处理/已处理/过期)通过枚举类固化业务语义。:CPU密集型(模板渲染)与IO密集型(网络请求)任务使用不同线程池,避免相互阻塞。:通过is_deleted实现软删除,结合历史表归档旧数据,确保主表查询效率。

2025-04-17 11:02:42 567 1

原创 函数式编程

Java通过函数式接口、Lambda表达式和Stream API支持函数式编程,提升了代码简洁性和效率。函数式编程强调不可变数据和高阶函数,适用于数据处理、并发编程等场景。合理应用这些特性,可以编写更高效、易维护的代码。

2025-04-15 10:22:24 596

原创 ZXing 库生成二维码有白边且大小不一致问题

import com// 关键参数说明: // dataRegionSize - 数据区域标准尺寸(不含白边) // marginSize - 四周边距宽度 // marginColor - 边距区域颜色 public static BufferedImage generateQRCode(String content , int dataRegionSize , int marginSize , Color marginColor) throws Exception {

2025-03-16 00:30:53 653

原创 Docker 篇

Docker 是一种轻量级容器化技术,通过标准化环境封装应用及其依赖,实现跨平台的高效部署。本指南将详细介绍 Docker 部署的全流程,涵盖基础环境搭建、容器配置、高级管理等核心内容。本指南提供了从基础到高级的 Docker 部署方案,适用于开发测试到生产环境的全生命周期管理。如需进一步了解特定场景的部署优化策略,可随时补充说明具体需求。

2025-03-06 19:37:42 436

原创 RBAC 模型介绍

它通过将权限与角色相关联,再将角色分配给用户,从而实现用户对资源的访问控制。在工作模型图中,用户与角色之间是多对多的关系,即一个用户可以拥有多个角色,一个角色也可以被多个用户拥有。角色与权限之间同样是多对多的关系,一个角色可以包含多个权限,一个权限也可以被多个角色所拥有。通过将权限分配给角色,再把角色赋予用户,间接实现了用户与权限的关联。RBAC 模型主要包含三个核心元素:用户(User)、角色(Role)和权限(Permission)。表示权限累积(上级角色自动获得下级权限)‌。带约束的RBAC2模型。

2025-03-05 10:48:32 977

原创 Spring Boot 切面执行优先级配置指南

在环绕通知(@Around)中,高优先级切面的通知方法先进入,后退出;而在前置通知(@Before)中,高优先级切面的通知方法先执行,后置通知(@After)和返回后通知(@AfterReturning)以及异常通知(@AfterThrowing)则相反,低优先级切面的通知方法先执行。在 Spring Boot 应用开发中,切面编程(AOP)是一项强大的功能,它允许我们将横切关注点(如日志记录、事务管理、权限控制等)从业务逻辑中分离出来,以提高代码的可维护性和可扩展性。的切面默认优先级最低(数值最大)‌。

2025-03-03 11:06:59 930

原创 OFDRW 核心功能开发文档

*** 可打印的ASCII表字母宽度所占用百分比* <p>* ASCII区间: [32,126]* <p>* 其中空格特殊处理,默认为半个字符宽度也就是 0.5*/// 空格 (ASCII 32)0.5,// 标点符号及特殊字符 (ASCII 33-47)// 数字 (ASCII 48-57)// 数字 '0' (ASCII 48) 的宽度从 0.58642578125 调整为 0.5// 标点符号及特殊字符 (ASCII 58-64)// 大写字母 (ASCII 65-90)

2025-03-01 11:46:25 306 2

原创 Deepseek 本地部署

环境准备系统要求+ **操作系统**: Linux (推荐Ubuntu 20.04+) / Windows (需WSL2)+ **Python**: 3.8++ **GPU**: NVIDIA GPU (显存≥16GB,推荐RTX 3090/A100) + CUDA 11.8+ **硬盘空间**: ≥50GB(模型权重和依赖)安装依赖```shell# 创建虚拟环境。

2025-02-20 10:10:05 928 1

原创 jjwt -- Token 生成解析技术指南

引言JWT(JSON Web Token)是一种基于JSON的、用于双方之间安全传输信息的简洁的、URL安全的令牌标准。在现代Web应用程序中,JWT作为一种高效且安全的认证机制,被广泛应用于用户身份验证和信息交换场景。本文旨在详细介绍JWT Token的生成与解析过程,为开发者提供一份专业的技术参考。JJWT简介JJWT是一个开源的Java库,专门用于处理JSON Web Tokens(JWT)。JWT是一种基于JSON的、用于双方之间安全传输信息的简洁的、URL安全的令牌标准(RFC 7519)

2025-02-06 16:10:53 1145

原创 java.sql.Date 弃用分析与替代方案

引言是 Java 标准库中的一个类,它继承自,主要用于在 Java 应用程序与数据库之间进行日期数据的传输。然而,随着 Java 语言的发展,以及其父类逐渐被认为存在设计缺陷,并被新的日期时间 API 所替代。本文将对的启用原因进行分析,并探讨其弃用原因及替代方案。启用原因分析SQL 日期类型的表示需求在 Java 应用程序与数据库交互时,需要一种方式来表示 SQL 中的日期类型(DATE正是为了满足这一需求而设计的。

2025-01-23 13:39:30 1425

原创 ZXing库 -- 生成二维码

引言二维码(QR Code)因其高密度的数据存储能力和易于扫描的特性,在现代社会中得到了广泛应用。ZXing是一个开源的二维码生成与读取库,它支持多种编程语言,包括Java。本指南将详细介绍如何在Java项目中使用ZXing库来生成带有透明背景的二维码。准备ZXing库</</</</</</</</</

2025-01-15 14:59:50 481

原创 自定义注解+切面方式实现重新构建接口入参

在需要切面的接口上使用自定义注解标记。

2024-12-12 16:56:07 918

原创 适配器模式

适配器模式(Adapter Pattern)是一种结构型设计模式,它的主要目的是将一个类的接口转换成客户端所期待的另一种接口形式。这种模式使得原本由于接口不兼容而不能一起工作的类可以协同工作。适配器模式在软件开发中经常被用来使新的接口与老的接口能够一起工作,以利用现有的功能而不影响原有系统的稳定。

2024-11-28 16:58:53 1023

原创 状态模式S

状态模式(State Pattern)是行为设计模式的一种,它允许一个对象在其内部状态发生改变时改变其行为。这个对象被视为类型的有限状态机(Finite State Machine)。在状态模式中,我们创建表示各种状态的对象和一个上下文对象(context),该上下文对象持有当前状态的引用,并可以在不同状态之间切换。这些状态对象共享一个公共的接口,以便上下文可以与任何状态对象交互,而无需知道具体是哪个状态。这样,当状态发生改变时,上下文的行为也会相应改变,但上下文本身并不直接修改其状态,而是委托给状态对象来

2024-11-28 16:00:26 1079

原创 访问者模式

结构访问者模式(Visitor Pattern)是一种行为型设计模式,它允许你在不修改对象结构的情况下向对象集合中添加新的操作。这一模式通过将操作分离到单独的访问者类中来实现,这些访问者类包含了对各种对象类型进行操作的逻辑。结构。

2024-11-22 17:44:40 1015

原创 观察者模式和订阅模式

Subject接口,被观察者,代表被观察的对象,定义注册新观察者,移除观察者,和通知观察者三个接口。Observer接口,代表观察者,定义接收到通知后需要执行的动作接口try {});try {});try {if (!

2024-11-22 14:37:34 1171

原创 创建一个多模块应用

创建父模块在Spring Boot中,多模块应用是一种将应用程序分割成多个独立模块的开发方式。每个模块都是一个独立的Maven或Gradle项目,可以拥有自己的依赖、资源和配置。这种分割有助于代码的复用、维护以及团队协作。创建父模块新建一个空的 maven 项目,只保留 pom.xml修改父模块 pom 文件,打包方式改为 pom,增加公共依赖,spring-boot-starter,spring-boot-starter-web</</</</</</</</</</</</</</</</</

2024-11-18 15:59:59 437

原创 SpringBoot配置类

监听器接口主要用于监听ServletContext对象的创建和销毁事件。它关注的是Web应用的启动和关闭,以及ServletContext对象的状态变化。创建一个监听器类,实现接口@OverrideSystem.out.println("MyServletContextListener:监听器启动");@OverrideSystem.out.println("MyServletContextListener:监听器销毁");

2024-11-16 22:49:15 922

原创 自定义注解+拦截器+jwtFilter实现权限控制

GetterSUPER_ADMIN(1, "超级管理员"),SYSTEM_ADMIN(2, "系统管理员"),DOMESTIC_CONSUMER(3, "普通用户"),VISITOR(4, "游客"),UNKNOWN(999, "未知用户");

2024-11-15 00:26:32 483

原创 SpringBoot-自定义注解,拦截器

创建自定义注解并增加一些属性。

2024-11-14 22:54:02 581

原创 hutool-雪花算法 id 生成器

设置工作机器ID(workerId)和数据中心ID(datacenterId),这两个参数用于确保在分布式环境中生成的ID是唯一的。

2024-11-13 23:31:56 721

原创 SpringBoot--读取自定义配置文件

可选,高版本SpringBoot 已经可以自动注入 @Compont 注解的类。通过 @Resource 注解注入,然后就可以使用了。

2024-11-12 23:53:08 621

原创 Springboot -- 自定义异常,异常处理

GetterUN_LOGIN(101, "用户未登录"),USER_NOT_FOUND(102, "用户未找到"),USER_ALREADY_EXIST(103, "用户已存在"),FAIL_VALIDATE(201, "token 校验失败"),FAIL_ENCODE(202, "密码校验失败"),UNKNOWN_ERROR(901, "未知异常"),;@Slf4jlog.error("未捕获异常", exception);

2024-11-12 16:37:39 360

原创 SpringBoot统一返回格式

首先,我们定义一个通用的响应格式类。这个类将包含所有API响应的基本结构@Data// 成功响应return new ApiResponse<>(200, "请求成功", data);// 错误响应。

2024-11-11 22:12:17 281

原创 jjwt -- 单点登录

JwtUtil 工具类用于生成 token,校验 token,从 token 中解析数据SpringSecurity 配置类配置 凭证校验规则,接口拦截,可参考:https://editor.youkuaiyun.com/md/?articleId=143686996实现 UserDetail 接口重写 UserDetail 的构建方法,用于创建认证对象Jwt 过滤器校验受保护接口的 token控制器登录接口,使用 Spring Security 的规则校验凭证,校验成功生成 token 返回

2024-11-11 20:08:46 403

原创 Spring Security

/</</

2024-11-11 15:28:47 395

原创 SpringBoot

创建一个 SpringBoot 项目整合 Mybatis-Plus。

2024-11-09 21:34:45 275

原创 ubuntu-下载配置jdk

nano 方式编辑,ctrl + o 保存,ctrl + x 退出。

2024-11-04 09:30:10 696

原创 ubuntu-下载安装maven

从Apache Maven官网下载Maven的Binary tar.gz archive文件,如apache-maven-3.5.2-bin.tar.gz。

2024-11-04 09:29:38 784

原创 ubuntu-下载安装git

【代码】ubuntu-下载安装git。

2024-11-04 09:29:08 736

原创 ubuntu-下载安装mysql

如果记得root用户的密码,直接使用。登录,然后修改其他用户的密码。

2024-11-04 09:28:35 304

原创 安装 Ubuntu系统

访问UltraISO官方网站或可信赖的软件下载平台,选择适合您操作系统的版本进行下载。前往DiskGenius官方网站,下载最新版本的软件,确保选择适合您系统架构(32位或64位)的版本。访问Ubuntu官方网站或国内镜像源(如网易、阿里云等),选择您需要的Ubuntu版本,下载对应的ISO镜像文件。格式化移动硬盘‌打开DiskGenius,选中移动硬盘,进行分区并格式化为适当的文件系统,如NTFS或EXT4。将分区表类型转换为GUID模式,确保系统兼容性。

2024-11-04 09:28:12 877

原创 ubuntu-下载安装 idea

【代码】ubuntu-下载安装 idea。

2024-11-04 09:26:48 553

原创 MySQL 触发器

mysql 触发器应用

2024-10-31 10:45:05 1435

原创 简单工厂模式

设计模式之简单工厂模式

2024-10-30 09:55:36 373

原创 工厂方法模式

设计模式之工厂方法模式

2024-10-30 09:53:53 378

原创 建造者模式

设计模式之建造者模式,将类的表象与类的创建分离开。

2024-10-30 09:53:01 162

原创 java环境--jdk篇

jdk 安装,配置及使用

2024-10-30 09:51:31 166

java 抽象工厂模式应用 进阶

java 抽象工厂模式应用 进阶

2024-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除