自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蔡定努

蔡定努个人博客

  • 博客(473)
  • 资源 (59)
  • 收藏
  • 关注

原创 深入理解 Spring 事务同步器:为什么嵌套的 afterCommit 不执行?

本文通过一个实际案例分析了Spring事务同步器的执行机制,解释了为什么嵌套注册的afterCommit回调不执行。关键点在于事务同步器必须在事务活跃期内注册才有效,而案例中的嵌套注册发生在外部事务已提交阶段。文章提供了修正方案,强调同步器应在事务方法内直接注册,避免在回调中嵌套注册。最佳实践包括:确保注册时机在事务活跃期、遵循单一职责原则、根据业务场景合理设计事务边界。理解这些原理可避免类似问题,编写更可靠的事务相关代码。

2025-08-07 23:18:21 2

原创 基于 ShardingSphere 的 Spring Boot 数据加密与模糊查询实现

本文介绍了基于ShardingSphere和Spring Boot实现数据加密与模糊查询的完整解决方案。项目采用AES加密敏感数据,通过ShardingSphere的CHAR_DIGEST_LIKE加密器支持加密字段的模糊查询功能。配置包括数据源设置、加密规则定义(AES、MD5和模糊查询专用加密器)以及特殊设计的数据库表结构(添加salary_like字段)。该方案既保障了数据安全,又解决了加密数据难以进行模糊匹配的难题,适用于需要同时满足数据保护和复杂查询需求的场景。

2025-08-06 14:25:48 79

原创 Spring Boot 集成 ShardingSphere 实现读写分离实践

本文介绍了Spring Boot集成ShardingSphere实现数据库读写分离的实践方案。选用Spring Boot 2.7.9、ShardingSphere 5.1.1和MySQL 8.0.32等技术栈,通过配置主库(one)和两个从库(two、three)实现读写分离。文章详细说明了Maven依赖配置、数据库准备和表结构创建,其中关键依赖包括shardingsphere-jdbc-core和mybatis-plus-boot-starter。实现方案通过在三个数据库中创建相同的menu表结构,为后续

2025-08-05 11:51:17 44

原创 MyBatis-Plus 实战:敏感字段自动加解密支持模糊查询

本文基于MyBatis-Plus框架提出了一种全链路敏感字段加密方案。通过自定义TypeHandler实现数据入库自动加密和查询自动解密,结合重写LambdaQueryWrapper处理查询条件加密,并适配多种查询方式。方案核心包括:1)AESUtil工具类提供加解密基础能力;2)EncryptTypeHandler实现字段类型转换;3)实体类通过注解配置加密字段。该方案在保证数据安全的同时,对业务代码侵入性小,支持姓名、手机号等敏感信息的全流程加密处理,满足系统开发的安全需求。

2025-08-01 12:05:13 31

原创 CentOS 搭建 Docker 私有镜像仓库

本文详细介绍了在CentOS系统上搭建Docker私有镜像仓库的完整流程。主要内容包括:环境准备(安装Docker、开放端口)、搭建私有仓库(拉取registry镜像、启动容器)、配置访问权限(生成密码文件、设置认证)、客户端访问配置、测试仓库功能(推送/拉取镜像)以及日常维护方法(查看镜像、清理数据)。通过细致的步骤说明和操作命令展示,帮助用户快速建立安全可靠的私有镜像仓库,为团队提供高效的Docker镜像管理解决方案。

2025-07-26 00:59:54 895

原创 centos中新增硬盘挂载文件夹

本文介绍了Linux系统中新硬盘的分区、格式化与挂载步骤: 使用fdisk创建分区并格式化为ext4或xfs文件系统; 创建挂载目录并临时挂载; 通过blkid获取UUID并写入/etc/fstab实现开机自动挂载; 提供mount -a验证配置的方法。 注意事项包括:操作前备份数据、正确配置fstab防止启动故障、根据需求选择文件系统类型等。完成所有步骤后,重启系统即可验证自动挂载是否成功。

2025-07-17 18:02:42 220

原创 centos 新加磁盘分区动态扩容

lsblkcentos-root 就是我的根目录。

2025-07-17 18:01:50 861

原创 arthas基本使用

本文介绍了Arthas工具的基本使用方法,包括下载启动、接口耗时排查、CPU飙升问题定位、代码反编译等功能。通过具体命令示例和测试代码演示了如何跟踪接口执行时间、分析高CPU线程、查看反编译代码等常见诊断场景。文章还提到可以结合IDEA插件快速生成Arthas命令,展示了dashboard查看系统整体状态的功能。这些方法能帮助开发者快速诊断Java应用性能问题。

2025-07-16 15:35:09 62

原创 Ubuntu 的Multipass虚拟机安装使用

Multipass是由Canonical推出的轻量级虚拟机管理器,支持Linux、Windows和macOS系统,分别采用KVM、Hyper-V和HyperKit技术实现低开销运行。它通过命令行快速创建和管理Linux虚拟机,支持自定义CPU、内存和磁盘配置,并提供文件挂载、传输等功能。安装简单,使用方便,适合本地模拟小型云环境

2025-07-05 23:47:23 62

原创 MinIO 用户权限管理实战指南:从创建用户到策略分配

本文详细介绍了MinIO分布式对象存储系统的用户权限管理流程,包括五个关键步骤:1)使用mc工具创建用户;2)通过JSON文件配置访问策略;3)注册策略到服务器;4)将策略分配给指定用户;5)验证权限配置。文章提供了具体命令和示例,帮助管理员掌握如何为不同用户分配精确的存储资源访问权限,确保系统安全性和数据隔离性。特别强调了在策略文件中定义操作权限和资源范围的方法,以及通过上传测试验证权限配置的有效性。

2025-06-23 12:12:54 810

原创 simpread-Redis 的三种集群模式_redis 集群三种方式 - CSDN 博客

Redis集群模式包括主从复制、哨兵模式和Cluster集群三种方式。主从复制通过读写分离提升性能,但需要手动故障切换;哨兵模式引入自动化监控与故障恢复机制,实现高可用性;Cluster集群采用分布式存储和哈希槽分片技术,支持在线扩容,是官方推荐的集群方案。每种模式各有优缺点,需根据业务场景选择合适的部署方式,其中Cluster集群通过主从复制模型进一步保障了高可用性。

2025-06-19 16:44:38 646

原创 Maven 打包后 ip2region.xdb 文件引发 ArrayIndexOutOfBoundsException 异常的解决之旅

摘要: 本文分享了解决Maven打包后ip2region.xdb文件引发ArrayIndexOutOfBoundsException异常的过程。本地测试正常的IP归属地查询功能在部署后失效,原因是Maven误将二进制xdb文件当作文本进行资源过滤,导致文件损坏。通过在pom.xml中配置maven-resources-plugin插件,禁止对.xdb文件进行过滤,成功解决问题。文章还深入解析了Maven资源过滤机制和插件配置技巧,强调了对构建工具原理理解的重要性。该案例为处理类似二进制文件打包问题提供了参考

2025-06-16 11:47:53 110

原创 使用 Prometheus 监控 Spring Boot 应用

本文介绍了使用SpringBoot+Prometheus+Grafana实现应用监控的方案。首先在SpringBoot项目中集成Micrometer和Actuator组件,通过配置暴露Prometheus监控端点。接着配置Prometheus采集应用指标数据,并通过Grafana可视化展示。具体步骤包括:1)SpringBoot集成Micrometer;2)配置Prometheus抓取应用指标;3)安装Grafana并导入SpringBoot监控模板;4)展示JVM和业务指标。该方案可以实现对SpringB

2025-06-16 11:43:23 210

原创 Spring Boot中使用@JsonAnyGetter和@JsonAnySetter处理动态JSON属性

摘要: 本文介绍了在Spring Boot中使用Jackson的@JsonAnyGetter和@JsonAnySetter注解处理动态JSON属性的方法。通过定义DynamicProperties类存储固定字段和动态属性,配合Spring Boot控制器接收和返回JSON数据,实现了灵活处理不固定数据结构的需求。特别说明该方案仅适用于@RequestBody场景,因为Jackson的反序列化机制是触发注解生效的关键。这种方法增强了系统对动态JSON属性的处理能力,适用于前端数据结构多变或需求频繁变更的业务场

2025-05-30 10:50:58 385 3

原创 Java中使用自定义序列化器:自动添加View字段的实现与应用

本文介绍了如何在 Java 中实现一个自定义的 BigDecimal 序列化器,以在序列化过程中自动添加格式化后的视图字段。通过使用 JsonSerializer 和 DecimalFormat,我们可以在输出 JSON 数据时,既保留原始的 BigDecimal 数值,又添加一个格式化后的字符串字段,便于前端展示。文章详细展示了如何定义 BigDecimalViewSerializer 序列化器,并将其应用于实体类中的 BigDecimal 字段。此外,还提供了测试示例,展示了序列化后的 JSON 输出效

2025-05-13 16:46:32 74

原创 Java中使用自定义序列化器:自动添加动态字段的实现与应用

在Java开发中,处理BigDecimal类型数据时,常常需要在序列化过程中添加格式化后的视图字段,以满足前端展示需求。本文通过实现一个自定义的BigDecimalViewSerializer序列化器,展示了如何在序列化时自动添加view字段。该序列化器继承自JsonSerializer<BigDecimal>,重写serialize方法,在输出原始数值的同时,生成格式化后的视图字段。通过@JsonSerialize注解,可以将该序列化器应用于实体类中的BigDecimal字段。最终,返回的JS

2025-05-13 10:36:37 124

原创 Git标签删除脚本解析与实践:轻松管理本地与远程标签

本文介绍了一个用于删除本地和远程 Git 标签的脚本,并详细解析了其逻辑和使用注意事项。脚本首先检查本地标签,若不存在则从远程拉取,随后批量删除本地标签。接着,脚本检查远程标签,并通过循环逐个删除。使用该脚本时需注意权限问题、备份重要标签以及处理特殊字符。通过合理运用该脚本,开发者可以更高效地管理 Git 标签,确保版本控制的清晰和规范。

2025-05-09 14:40:15 285

原创 利用 SSE 实现文字吐字效果:技术与实践

Server-Sent Events 是一种允许服务器向客户端发送实时更新的 Web API。与传统的轮询(客户端定期向服务器发送请求以获取更新)或 WebSocket(全双工通信)不同,SSE 是单向的,即服务器可以主动向客户端推送数据,而客户端只能接收。这种单向通信模式非常适合那些只需要服务器向客户端发送数据的场景,如新闻更新、股票价格变化、实时日志等。简单易用:相比于 WebSocket,SSE 的实现更加简单,不需要复杂的握手过程。自动重连:如果连接中断,浏览器会自动尝试重新连接到服务器。

2025-04-24 22:31:57 137

原创 FileCodeBox 文件共享部署超详细教程

FileCodeBox 就像一个线上的文件快递柜,你可以把文件 “寄存” 其中,设置取件码后分享给他人,对方凭借取件码就能提取文件。整个过程简单高效,且注重隐私保护。

2025-04-23 12:44:43 1136

原创 tree命令的安装和使用

在文件管理和项目开发过程中,我们常常需要快速了解目录下文件和文件夹的层级结构。tree命令是一款实用的命令行工具,它能够以树形结构直观地展示目录内容,让用户一目了然地看清文件系统的组织架构。无论是整理复杂的项目文件、排查文件路径问题,还是向他人展示项目目录布局,tree命令都能派上用场。接下来,我们就详细介绍tree命令在不同操作系统下的安装方法和使用技巧。

2025-04-22 13:10:12 1141

原创 Spring Boot 中基于 Reactor 的服务器端事件(SSE)推送机制实践

SSE 是 HTML5 规范的一部分,它允许服务器向客户端推送实时更新。与传统的轮询(Polling)方式相比,SSE 通过建立持久的 HTTP 连接,减少了不必要的请求开销,极大地提升了实时数据传输的效率。客户端只需创建一个对象,就能轻松接收服务器推送的事件流,而服务器则负责将数据以特定格式(如)发送给客户端。方法是实现 SSE 推送的核心接口。通过注解将该方法映射到路径,并指定,表明该接口返回的数据类型为,符合 SSE 的数据格式要求。在方法内部,首先使用创建一个每秒发出一个元素的Flux流。

2025-04-19 20:47:20 362

原创 模板方法模式 :深入理解设计模式

首先,我们创建一个名为的抽象类,它将作为我们冲泡饮品的模板。// 抽象类,定义准备饮料的算法骨架// 模板方法,定义了算法的骨架brew();// 具体步骤:烧水// 抽象步骤:冲泡// 具体步骤:倒入杯子// 抽象步骤:添加调料// 钩子方法,子类可以重写此方法来控制是否添加调料在这个抽象类中,方法就是我们的模板方法,它定义了冲泡饮品的整体流程。boilWater和pourInCup方法是所有饮品冲泡过程中都相同的具体步骤,因此在抽象类中直接实现。而brew和。

2025-04-17 17:21:44 879

原创 CentOS 安装 Docker

为了加快 pull 镜像下载速度,我们可以配置 Docker 的国内镜像地址。从官方源安装 Docker 在国内速度较慢,因此建议使用阿里云提供的 Docker 软件包仓库。为了获取最新的软件包信息,我们需要更新 Yum 缓存。添加 Docker 中国区官方镜像,网易,中国科技大学的镜像加速地址。之前,我们需要安装一些必要的软件包和依赖项。现在,我们可以安装 Docker 了。如果成功安装,您将看到 Docker 的版本号。安装完成后,我们需要启动 Docker 服务。清除 Docker 残留文件。

2025-04-14 01:03:39 644

原创 责任链模式:优雅处理请求的设计艺术

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理该请求为止。在这个模式中,每个处理者都有一个引用指向下一个处理者,形成一个链条。当一个请求进入这个链条时,它会依次经过每个处理者,每个处理者可以选择处理该请求或者将其传递给下一个处理者。// 支持链式调用的设置下一个处理者的方法。

2025-03-16 01:02:19 518

原创 IDEA中.gitignore未忽略指定文件的问题排查与解决

在使用 IntelliJ IDEA 进行项目开发时,合理利用.gitignore文件来管理版本控制是非常重要的。它能帮助我们排除一些不需要纳入版本管理的文件,比如包含敏感信息的.env文件。然而,有时我们会遇到一种情况:明明已经将.env文件添加到了.gitignore文件中,但在提交代码到 Git 时,.env文件还是被提交了。这篇博客将深入探讨这个问题出现的原因,并提供相应的解决方法。

2025-02-28 00:05:22 445

原创 Spring Boot 依赖配置分离多种打包方式

springboot中依赖分离打包方式

2025-01-03 18:27:25 697

原创 ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal

复制之后,父子线程中的InheritableThreadLocal就没有关系了,父线程中InheritableThreadLocal的值再修改,也不会影响子线程中的值了,所以两次输出的都是张三。从结果中看,线程池执行了2次任务,2次拿到的都是张三,和主线程第一次放入的值是一样的,而第二次主线程中放入的是李四啊,但是第二次线程池中拿到的却是张三,这是什么原因?上面线程池的大小是1,也就是说这个线程池中只有一个线程,所以让线程池执行的2次任务用到的都是一个线程,从上面的日志中可以看到线程名称都是。

2024-12-30 10:49:45 133

原创 mac中卸载php

如果输出是以/bin/bash开头的路径,那么用户使用的是Bash shell,配置文件可能是.bash_profile或.profile。如果输出是以/bin/zsh开头的路径,那么用户使用的是Z shell (zsh),配置文件可能是.zshrc。注意:现代macOS版本通常默认使用zsh作为用户的登录shell,而不是bash。/.zshrc(取决于你使用的shell)文件,并删除其中关于PHP的路径配置。卸载PHP后,还需要检查并更新系统的PATH环境变量,以确保系统不再使用已卸载的PHP版本。

2024-12-06 09:59:54 741

原创 mac安装php和xdebug调试

要在Mac上安装PHP 7.4,你可以通过几种方式来完成,但鉴于PHP7.4官方已不再维护,并且Homebrew默认仓库中不再提供此版本,我们需要从第三方仓库或直接从源代码进行安装。本文以brew方式安装,如果安装的是8.0以上,就不用tap第三方仓库了直接install。第2步完成之后,会提示环境配置命令,直接执行。使用Homebrew从第三方仓库安装。安装xdebug,开发调试。查看php.ini路径。查看php的安装路径。

2024-12-05 10:48:01 981

原创 laravel中队列使用

Laravel 提供了强大的队列系统,允许开发者将耗时任务推送到后台执行,从而提升系统性能和用户体验。本文将从基本使用到深入解析,结合单进程队列的特点,完整地介绍 Laravel 队列的使用。队列的作用和场景。

2024-11-26 12:54:34 1286

原创 java 根据 pdf 模板带图片文字生成pdf文件

在现代应用开发中,自动生成包含动态内容的 PDF 文档在电子发票、合同生成、表单填充等场景中有着广泛的应用。本文将介绍如何使用 iText 库动态填充 PDF 模板字段,并在指定位置插入签名和公章图片。项目需求假设我们有一个 PDF 模板文件,包含表单字段,如用户姓名、地址、爱好等,以及需要插入的签名和公章图片。我们将使用 iText 库读取 PDF 模板,填充字段数据,并在指定位置插入签名和公章图片,生成最终的 PDF 文件。技术实现使用的主要依赖。

2024-11-15 18:46:33 396

原创 本地 SSL 证书生成神器,自己创建SSL

mkcert是由Filippo Valsorda开发的一款免费开源工具,专门用于生成受信任的本地SSL/TLS证书。它通过简单命令自动生成并安装本地信任的证书,让本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,满足不同开发者的需求。本文以mac为例。

2024-11-13 14:04:03 149

原创 本地 SSL 证书生成神器,自己创建SSL

mkcert是由Filippo Valsorda开发的一款免费开源工具,专门用于生成受信任的本地SSL/TLS证书。它通过简单命令自动生成并安装本地信任的证书,让本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,满足不同开发者的需求。本文以mac为例。

2024-11-13 12:03:07 379

原创 springboot中返回数据脱敏

特别是在返回用户信息的 API 中,我们通常希望敏感字段(如姓名、身份证、电话号码、地址等)经过脱敏处理后再返回。@Sensitive 注解用于标记需要脱敏的字段,并指定脱敏策略。此脱敏方案适合在 Spring Boot 中使用,特别是数据敏感性较高的场景,如用户信息管理、支付信息保护等。首先,创建 Person 实体类,并在敏感字段上使用 @Sensitive 注解指定脱敏策略。:通过 SensitiveStrategy 枚举,可以轻松扩展新的脱敏策略。@Sensitive:用于标注字段的脱敏策略。

2024-11-12 14:50:02 411

原创 Jar 包加密混淆工具 ClassFinal

ClassFinal 是一款 java class 文件安全加密工具,支持直接加密 jar 包或 war 包,无需修改任何项目代码,兼容 spring-framework;可避免源码泄漏或字节码被反编译。加密后,原始的 class 文件中方法体被清空,当 class 被 classloader 加载时,真正的方法体会被解密注入。为兼容 spring,swagger 等扫描注解的框架,故而保留了方法参数、注解等信息;反编译者只能看到方法名和注解;

2024-10-07 15:36:38 577

原创 Spring Boot 多线程事务管理:使用 CyclicBarrier 和 PlatformTransactionManager 实现全局事务控制

通过本文介绍的多线程事务处理工具类,我们可以轻松地在多线程环境下控制事务的提交与回滚。特别是在多个线程同时操作数据库时,如果其中一个线程失败,如何保证其他线程的事务操作也能一并回滚,而不是部分提交,成为了开发者必须考虑的重点。在默认情况下,Spring 的事务是线程不安全的,即每个线程都有自己独立的事务上下文。为了在多线程环境下保证事务的统一提交或回滚,我们需要一种机制,能够在所有线程完成操作后,再决定是否提交事务。如果某个线程的任务失败,整个事务应当回滚,确保所有线程的任务要么一起成功,要么一起失败。

2024-09-24 23:19:13 461 1

原创 多线程事务管理:Spring Boot 实现全局事务回滚

在本文中,我们通过 TransactionTemplate 和多线程执行器实现了多线程中的全局事务控制,确保所有线程的数据库操作要么一起提交,要么在发生错误时一起回滚。在 Spring Boot 中,我们通常会在需要事务控制的服务方法上使用 @Transactional 注解来保证事务的一致性。在这些用户的处理过程中,数据库操作必须要么全部提交,要么在发生错误时全部回滚。因此,我们需要一种方式,能够在多线程环境下将所有线程的数据库操作放在同一个事务上下文中,并由主线程统一提交或回滚事务。

2024-09-24 23:12:08 1235

原创 InheritableThreadLocal vs TransmittableThreadLocal 深入理解与使用场景

即使线程池复用了子线程,它仍然能获取到正确的值。TransmittableThreadLocal 的原理是:每次任务提交时,它会把父线程的 ThreadLocal 值传递给子线程(无论子线程是新建的还是复用的)。则适用于更加复杂的场景,尤其是当我们使用线程池时,希望父线程的上下文信息(例如用户信息、事务ID等)能够传递给子线程,无论子线程是新建的还是复用的。适用于一些简单的场景,比如普通的多线程编程中,父线程需要将 ThreadLocal 值传递给子线程,且子线程不需要在线程生命周期中更新值的场景。

2024-09-12 18:31:22 246

原创 Jenkins+docker+springboot 一键自动部署项目步骤

在 springboot 项目根目录新建一个名为 Dockerfile 的文件,注意没有后缀名,其内容如下:(大致就是使用 jdk8,把 jar 包添加到 docker 然后运行 prd 配置文件)因为我们项目和 jenkins 在同一台服务器,所以我们用 shell 脚本运行项目,原理既是通过 dockerfile 打包镜像,然后 docker 运行即可。点击正在构建的任务,或者点击任务名称,进入详情页面,查看控制台输出,看是否能成功打成 jar 包。】,输入仓库地址,添加凭证,选择好凭证即可。

2024-09-02 10:32:09 835

原创 IDEA插件开发中JavaProgramPatcher的使用

JavaProgramPatcher是设置jvm参数的,点击启动项目的时候会调用。本文介绍插件开发中的基本使用

2024-09-01 21:42:32 481

shiro-demo使用ehcache做缓存.zip

shiro-demo使用ehcache做缓存.zip

2019-12-01

spring-boot+tk.mybatis通用mapper

spring-boot+tk.mybatis通用mapper

2020-08-25

elementui-admin 整合动态侧边栏和按钮权限控制

elementui-admin 整合动态侧边栏和按钮权限控制e

2020-04-29

centos系统springboot启动、重启、停止shell脚本

centos系统springboot启动、重启、停止shell脚本,centos系统springboot启动、重启、停止shell脚本

2019-11-23

shiro-demo使用redis做缓存.zip

shiro-demo使用redis做缓存.zip

2019-12-01

springboot整合logback保存日志到文件

springboot整合logback保存日志到文件,日志持久化

2020-04-23

springboot整和jwt、shiro、redis实现token自动刷新

springboot整和jwt、shiro、redis实现token自动刷新

2020-08-19

sping-boot-shiro-jwt-redis-refreshtoken.zip

sping-boot-shiro-jwt-redis-refreshtoken,springboot整和shiro、jwt,自动刷新token

2020-08-25

mybatisplusPage.rar

MybatisPlus 多表关联查询带分页,单表,多表:注解方式,xml方式,provider方式。

2019-12-30

springboot-RedisKeyExpirationListener.zip

springboot-RedisKeyExpirationListener,监听redis中的key失效,回调函数,springboot-RedisKeyExpirationListener

2020-05-02

aop 权限验证demo

aop 权限验证

2020-02-27

springboot整合JWT

springboot整合JWT

2019-11-26

vue-svg.zip

vue整合阿里素材图标svg格式demo

2020-04-25

quartz-springboot

quartz-springboot,quartz-springboot,springboot整合quartz实现对定时任务的增删改查

2020-05-16

mybatisplusPage.zip

mybatisplus自定义sqlmybatisplus自定义sqlmybatisplus自定义sqlmybatisplus自定义sql

2020-01-09

mybatisplusPage.zip

MybatisPlus 多表关联查询带分页,单表,多表:注解方式,xml方式,provider方式。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2019-12-27

websocket.zip

websocket.zip

2019-12-02

shiro-demo不自定义缓存.zip

shiro-demo不自定义缓存,

2019-12-01

springboot整合shiro

springboot整合

2019-11-26

springboot如何使用Freemarker模版引擎

springboot如何使用Freemarker模版引擎

2019-11-20

ShardingSphere 的 Spring Boot 数据加密与模糊查询实现​

本项目以 ShardingSphere 为核心,不仅实现了数据库敏感字段的加密存储,更突破了加密数据难以进行模糊查询的痛点。通过整合 Spring Boot 框架、MyBatis-Plus 数据访问层及 MySQL 数据库,构建了一套既能保障数据安全(采用 AES 加密存储敏感字段),又能支持精确查询和模糊查询的完整系统,尤其针对加密字段的 like 操作提供了高效解决方案。

2025-08-06

shardingsphere-jdbc整合springboot实现读写分离

shardingsphere-jdbc整合springboot实现读写分离,持久层使用mybatisplus,下载就能直接使用,适合新手小白,开箱即用

2025-08-05

基于MyBatis-Plus全链路敏感字段加密方案 通过自定义TypeHandler实现数据入库自动加密和查询自动解密和模糊查询

基于MyBatis-Plus框架提出了一种全链路敏感字段加密方案。 通过自定义TypeHandler实现数据入库自动加密和查询自动解密,结合重写LambdaQueryWrapper处理查询条件加密,并适配多种查询方式。方案核心包括: 1)AESUtil工具类提供加解密基础能力; 2)EncryptTypeHandler实现字段类型转换; 3)实体类通过注解配置加密字段。该方案在保证数据安全的同时,对业务代码侵入性小,支持姓名、手机号等敏感信息的全流程加密处理,满足系统开发的安全需求。 4)模糊查询

2025-08-01

分布式下,springboot一个注解防重复提交starter

springboot一个注解防重复提交,实现原理是使用spring的aop功能,允许用户使用SPEL表达式设置防重key,支持自定义超时时间,结合redis实现分布式防重复

2024-10-16

springboot中多线程事务的实现

springboot中多线程事务的实现,整个springboot和多线程,任何一个线程异常,则每个线程的事务都回滚,保证事务的一致性

2024-09-24

超卖问题的4种解决方案、秒杀方案

超卖问题的4种解决方案,乐观锁、逻辑控制方式来解决超卖问题,都是利用数据库来实现 方案1:通过update中携带条件判断解决超卖问题 方案2:乐观锁解决超卖问题 方案3:对比数据修改前后是否和期望的一致,解决超卖问题 通过辅助类解决超卖问题,这种本质上可以解决所有并发修改db数据出错的问题

2024-09-10

springboot整合文件分片上传

springboot整合文件分片上传,文件分片上传,分片上传学习demo,直接运行,基于java8

2024-09-10

springboot动态线程池、线程池监控

springboot动态线程池,用最简单的方式,api接口方式线程池监控的监控和动态线程数的调整扩展

2024-09-10

整合canal监听mysql

使用开源框架springboot整合canal监听mysql数据变化,涵盖三种方式: main直接连接mysql监听,直接使用rabitmq监听,结合spring监听

2024-05-13

Springboot整合向量数据库Milvus

Springboot整合向量数据库Milvus实现增删改查

2024-05-12

springboot-quartz 单机demo,分布式下demo

springboot-quartz 单机demo, 分布式下,保证不重复执行

2022-02-27

springCloudAlibaba的一个demo,包括注册中心,配置中心,服务熔断降级、链路追踪、seata分布式事务

本项目为学习springCloudAlibaba的一个demo,包括注册中心,配置中心,服务熔断降级、链路追踪、seata分布式事务

2021-10-02

springboot+JPA 多数据源配置

springboot+JPA 多数据源配置springboot+JPA 多数据源配置

2021-08-29

vue-admin-template-master.zip

vue-admin-template-master.zip

2021-12-05

dynamic-datasource-aop-copy

springboot结合自定义注解整合动态数据源实现通过注解切换,事务回滚springboot结合自定义注解整合动态数据源实现通过注解切换,事务回滚springboot结合自定义注解整合动态数据源实现通过注解切换,事务回滚

2020-07-09

dynamic-datasource-aop-loop.rar

dynamic-datasource-aop-loop.,springboot结合切面,加上自定义注解实现动态数据源切换,事务处理,循环遍历数据库文件

2020-07-10

oneToMany-OneToOne-search.zip

oneToMany-OneToOne-search,xml方式、注解方式实现一对一查询、一对多查询,、注解方式实现一对一查询、一对多查询、注解方式实现一对一查询、一对多查询

2020-10-10

springboot-fastjson-auto-transform-enum.zip

springboot 使用fastjson自定义序列化和反序列化

2020-09-10

springboot-jackson-auto-transform-enum.zip

spring boot 中jackson自定义序列化和反序列化

2020-09-10

appname.sh

linux部署jar包的一个脚本,需要把里边的APP_NAME替换成你自己的jar包的路径,会在jar报统计目录生成控制台日志的日志文件,执行 sh appname.sh start/stop/restart

2020-07-18

空空如也

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

TA关注的人

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