首页 文章 精选 留言 我的

xtools-boot一款基于JDK25,SpringBoot4的通用Spring工具库

xtools-boot 项目设计文档

开源地址: https://gitee.com/jun-xtools/xtools-boot.git

一、功能和用途

1.1 项目概述

项目信息 描述
项目名称 xtools-boot
项目版本 5.0.0
父POM xtools-parent-boot:5.0.0
顶级父POM xtools-parent:5.0.0
Spring Boot 4.0.6
JDK版本 25
项目定位 SpringBoot工具模块框架,为业务应用提供开箱即用的基础能力
维护团队 org.xujun

1.2 技术特点

  • 采用最新的 JDK 25 版本,充分利用虚拟线程(Virtual Threads)、ScopedValue等新特性
  • 基于 Spring Boot 4.0.6 构建,支持自动配置和快速开发
  • 使用 MyBatis-Plus 3.5.16 简化数据访问层开发
  • 使用 MyBatis 4.0.1 提供灵活的SQL映射能力
  • 使用 Druid 1.2.28 数据库连接池,内置SQL监控
  • 集成 Elasticsearch 9.2.8 实现日志存储和检索
  • 支持 Knife4j 4.5.0 自动生成 API 文档
  • 集成 Spring AMQP 4.0.3 实现 RabbitMQ 异步消息处理
  • 集成 Spring Data Redis 实现分布式缓存
  • 集成 XXL-JOB 3.4.0 实现分布式任务调度
  • 集成 Spring Boot Admin 4.0.4 实现应用监控
  • 使用 Jackson 3.1.2 进行 JSON 序列化/反序列化
  • 使用 FastJSON2 2.0.60 处理JSON数据
  • 使用 Lombok 1.18.46 简化Java代码
  • 使用 MapStruct 1.6.3 进行对象映射转换
  • 支持 S3 2.42.41 对象存储
  • 使用 ip2region 3.3.7 实现IP地址定位

1.3 核心功能

核心模块

Spring上下文工具

路径匹配工具

枚举工具

时间工具

树形工具

JAR工具

Knife4j模块

API文档增强

白名单配置

IP模块

IP地址查询

IP定位工具

脱敏模块

数据脱敏注解

脱敏类型枚举

自定义脱敏

线程模块

虚拟线程工具

异步回调

存储模块

存储抽象接口

文件存储

S3存储

任务模块

任务总线TaskBus

任务状态管理

XXL-JOB集成

日志模块

日志总线LogBus

日志追踪

虚拟线程日志

运行信息

消息队列模块

消息总线MqBus

RabbitMQ实现

消息编解码

错误处理

搜索引擎模块

ES查询工具

ES监控

索引操作

数据库模块

MyBatis配置

MyBatis-Plus增强

Druid连接池

SQL监控拦截

MySQL监控

缓存模块

Redis服务

分布式锁

缓存监控

Hash操作

Web模块

全局异常处理

日志追踪Filter

Jackson定制配置

过滤器链

白名单机制

API模块

统一响应Result

异常体系

基础枚举

日志追踪LogTrack

分页模型

树形模型

XSS过滤注解

1.4 功能层次结构

xtools-boot
SpringBoot工具模块框架

API基础

统一响应Result

异常体系

基础枚举

日志追踪LogTrack

分页模型

树形模型

Web基础

全局异常处理

日志追踪Filter

Jackson定制

XSS过滤

过滤器链

缓存

Redis服务

分布式锁

Hash操作

缓存监控

数据库

MyBatis配置

MyBatis-Plus增强

Druid连接池

SQL监控

MySQL监控

搜索引擎

ES查询工具

ES监控

消息队列

消息总线

RabbitMQ实现

消息编解码

日志

日志总线LogBus

日志追踪

虚拟线程日志

任务

任务总线TaskBus

XXL-JOB集成

存储

存储抽象接口

文件存储

S3存储

安全

数据脱敏

XSS防护

工具

虚拟线程

IP定位

枚举工具

树形工具

时间工具

1.5 功能关系图

异常

异步

异步存储

持久化

序列化

HTTP请求

过滤器链

日志追踪Filter

公共Filter

Controller层

Service层

全局异常处理器

Redis缓存

数据库

消息队列

日志总线

Elasticsearch

任务总线

XXL-JOB

存储服务

本地文件

S3对象存储

脱敏注解

Jackson

二、项目结构设计

2.1 整体架构

xtools-boot
父模块

xtools-boot-api
API基础模块

xtools-boot-core
核心工具模块

xtools-boot-cache
缓存模块

xtools-boot-db
数据库模块

xtools-boot-elasticsearch
搜索引擎模块

xtools-boot-ip
IP工具模块

xtools-boot-job
任务调度模块

xtools-boot-knife4j
API文档模块

xtools-boot-log
日志模块

xtools-boot-mask
脱敏模块

xtools-boot-mq
消息队列模块

xtools-boot-storage
存储模块

xtools-boot-task
任务总线模块

xtools-boot-thread
线程模块

xtools-boot-web
Web基础模块

xtools-boot-cache-redis
Redis缓存

xtools-boot-db-mybatis
MyBatis

xtools-boot-db-mybatis-plus
MyBatis-Plus

xtools-boot-job-xxl
XXL-JOB

xtools-boot-mq-base
MQ基础

xtools-boot-mq-rabbit
RabbitMQ

xtools-boot-storage-base
存储基础

xtools-boot-storage-file
文件存储

xtools-boot-storage-s3
S3存储

xtools-boot-web-base
Web基础

xtools-boot-web-filter
过滤器

2.2 分层架构

数据层

业务模块层

Web层

过滤器层

SkipFilter
白名单过滤器 Order:0

LogTrackFilter
日志追踪过滤器 Order:100

CommonFilter
公共过滤器 Order:101

GlobalControllerExceptionHandler
全局异常处理

JacksonConfig
JSON序列化配置

MvcConverterConfig
MVC转换器配置

缓存模块 RedisService

日志模块 LogBus

任务模块 TaskBus

消息模块 MqBus

存储模块 StorageService

脱敏模块 MaskSerializer

MyBatis / MyBatis-Plus

Redis

Elasticsearch

RabbitMQ

文件系统 / S3

2.3 模块职责

模块 职责 关键类
xtools-boot-api API基础定义:统一响应、异常体系、枚举、日志追踪模型、分页/树形模型 Result, BizError, LogTrack, PageReq, PageResp, TreeResp
xtools-boot-core 核心工具集:Spring上下文、路径匹配、枚举工具、时间工具、树形工具、JAR工具 SpringContextUtils, PathPatternUtils, TreeUtils, TimeUtils
xtools-boot-cache Redis缓存服务:数据缓存、分布式锁、Hash操作、缓存监控 RedisService, RedisUtils, RedisMonitor
xtools-boot-db 数据库访问:MyBatis配置、MyBatis-Plus增强、Druid连接池、SQL监控、MySQL监控 BootDbMybatisConfiguration, BootDbMybatisPlusConfiguration, MySqlMonitor
xtools-boot-elasticsearch 搜索引擎:ES查询构建、ES操作、ES监控 EsUtils, EsQueryUtils, ElasticsearchMonitor
xtools-boot-ip IP地址工具:IP库初始化、IP地址查询和定位 IpUtils, InitIp
xtools-boot-job 任务调度:XXL-JOB配置和初始化 XxlJobConfig, InitXxlJob
xtools-boot-knife4j API文档:Knife4j集成和白名单配置 BootKnife4jConfiguration, Knife4jFilterWhitelist
xtools-boot-log 日志总线:日志采集、格式化、异步持久化、日志追踪 LogBus, LogTrackHolder, LogBody, RunInfo
xtools-boot-mask 数据脱敏:字段级脱敏注解、多种脱敏类型、自定义脱敏 @Mask, MaskSerializer, MaskType, DefaultMaskHandle
xtools-boot-mq 消息队列:消息总线、RabbitMQ实现、消息编解码、错误处理 MqBus, RabbitMqHandle, BaseMessageHandle, MqMessageUtils
xtools-boot-storage 存储抽象:统一存储接口、本地文件实现、S3实现 StorageService, StorageServiceFileImpl, StorageServiceS3Impl
xtools-boot-task 任务总线:任务状态管理、任务信息持久化 TaskBus, TaskInfo, TaskStatus
xtools-boot-thread 线程工具:虚拟线程执行、异步回调 VirtualThreadTaskUtils, VirtualThreadTaskCallback
xtools-boot-web Web基础:全局异常处理、日志追踪Filter、Jackson定制、XSS过滤、过滤器链 GlobalControllerExceptionHandler, LogTrackFilter, CommonFilter

2.4 包结构设计

复制代码
xtools.boot.{module}
├── {Module}Configuration          # 模块配置类(@Import ImportSelector)
├── selector
│   └── {Module}ImportSelector      # 自动导入选择器
├── config                           # 模块配置属性
├── constant                         # 常量定义
├── enums                            # 枚举定义
├── interfaces                       # 接口定义
│   ├── BusInterface                # 总线接口(LogBusInterface, TaskBusInterface, MqEnums)
│   └── BaseType                    # 基础类型接口(BaseEnum, BaseTaskType)
├── model
│   └── dto                         # 数据传输对象
├── utils                            # 工具类
├── handle                          # 处理器
├── filter                           # 过滤器
├── init                             # 初始化(ApplicationRunner)
├── monitor                          # 监控组件
├── holder                           # 持有器(ScopedValue)
├── service                          # 服务接口和实现
└── annotation                       # 自定义注解

2.5 模块自动装配设计

所有模块采用统一的自动装配模式:

业务应用引入模块依赖

模块Configuration类
@Configuration

ImportSelector
通过 @Import导入

扫描模块包路径
registerBeanDefinitions

注册模块内所有Component
Configuration / Utils / Monitor等

设计原则

  • 每个模块通过 @Configuration + @Import(ImportSelector) 实现按需加载
  • ImportSelector 指定模块的根包路径,自动注册所有 @Component@Configuration 等注解的类
  • 业务应用只需引入对应模块的 Maven 依赖,无需手动配置

三、项目功能设计

3.1 统一响应与异常设计

统一响应模型

java 复制代码
public final class Result<T> {
    private boolean success;  // 是否成功
    private int code;         // 响应代码
    private Object msg;       // 提示信息
    private T data;           // 响应数据
}

异常体系

code >= 1000

code >= 1000

code >= 1000

code=401

CommonException
xtools-core

BizError
业务异常

BizWarning
业务警告

BizPublicKeyError
公钥异常

UnauthorizedError
认证异常

返回Result.success=true
code=业务码

返回ResultType.UNAUTHORIZED

全局异常处理流程

MethodArgumentTypeMismatchException

HandlerMethodValidationException

MethodArgumentNotValidException

HttpMessageNotReadableException

BizError

BizWarning

BizPublicKeyError

UnauthorizedError

HttpRequestMethodNotSupportedException

NoResourceFoundException

ClientAbortException

Exception

Controller抛出异常

异常类型

参数类型不匹配

参数校验异常

参数校验异常

请求参数格式错误

业务异常

业务警告

公钥错误

认证异常

请求方法不支持

资源未找到

客户端断开

默认异常处理

返回 badRequest

返回 business code

返回 401 UNAUTHORIZED

返回 405 METHOD_NOT_ALLOWED

返回 404 NOT_FOUND

静默处理

返回 500 INTERNAL_SERVER_ERROR

LogBus记录日志

3.2 日志管理设计

日志总线架构

日志产生方

LogBus.init

设置日志级别

设置日志类型

设置标题

附加数据data

附加异常error

save

创建虚拟线程

格式化堆栈信息

是否打印?

格式化日志输出
到控制台

跳过打印

日志级别>=WARN?

必须保存日志

logTrack.save?

跳过保存

处理日志超长截断

处理异常信息

获取所有LogBusInterface

逐个调用save方法

日志追踪设计

HTTP请求到达

LogTrackFilter
Order:100

创建LogTrack

生成唯一ID

生成traceId

设置type=MAIN

设置save=true

绑定到ScopedValue

子线程/虚拟线程

从父线程获取LogTrack

创建子LogTrack

继承traceId

设置type=THREAD

绑定到新ScopedValue

LogBus使用LogTrackHolder获取

日志类型枚举

日志类型 说明
OTHER 其他
VIRTUAL_THREAD 虚拟线程
REDIS Redis操作
MYBATIS MyBatis操作
MQ 消息队列
ELASTICSEARCH Elasticsearch操作
SENTINEL Sentinel操作
STORAGE 存储操作
OPT_LOG 操作日志
HTTP HTTP操作
HTTP_REQUEST HTTP请求
HTTP_RESPONSE HTTP响应
CLOUD_REQUEST 云端请求
CLOUD_RESPONSE 云端响应
CONTROLLER Controller异常
TASK 任务操作
JOB 定时任务
RISK 风险操作

3.3 缓存设计

Redis服务架构

底层

序列化

RedisService

String操作
set / get / del / incr

Key操作
expire / persist / rename
getByPattern / getKey

分布式锁
tryLock / releaseLock
Lua脚本保证原子性

Hash操作
hashPut / hashGet
hashEntries / hashDelete
hashExists

原子操作
setNx / hashPut带过期

FastJSON2序列化
String直接存储
Object序列化为JSON

StringRedisTemplate
字符串操作

RedisTemplate
分布式锁

DefaultRedisScript
Lua脚本

3.4 消息队列设计

消息总线架构

成功

失败

业务代码调用MqBus.push

获取BaseMqHandle实现

是否存在实现?

调用push方法

抛出异常

RabbitMqHandle.push

消息序列化
MqMessageUtils.to

RabbitTemplate发送

RabbitMQ Broker

消费者接收

消息反序列化
MqMessageUtils.from

BaseMessageHandle
baseHandleMessage

业务处理

消息确认ACK

BaseErrorHandle
错误处理

消息初始化流程

应用启动

InitMq
ApplicationRunner Order:50

获取所有BaseMqHandle实现

逐个调用initQueue

初始化队列

添加监听器addListen

消息队列就绪

3.5 存储设计

存储抽象架构

配置层

实现层

存储接口

实现

实现

type=file

type=s3

StorageService
接口

StorageServiceFileImpl
本地文件存储

StorageServiceS3Impl
S3对象存储

StorageConfig
存储类型配置

FileStorageConfig
文件存储配置

S3StorageConfig
S3配置+S3Client

StorageService接口方法

方法 说明
exists(String key) 判断文件是否存在
save(String key, InputStream data) 保存文件
get(String key) 获取文件输入流
del(String key) 删除文件

3.6 数据脱敏设计

脱敏注解

CHINESE_NAME

ID_CARD

MOBILE_PHONE

EMAIL

BANK_CARD

PASSWORD

ADDRESS

CUSTOM

实体类字段标注 @Mask

MaskType类型

姓名脱敏
张三 -> 张*

身份证脱敏
110101199001011234 -> 110101****1234

手机号脱敏
13812345678 -> 138****5678

邮箱脱敏
test @example.com -> t***@example.com

银行卡脱敏

密码脱敏
全部替换为***

地址脱敏

自定义脱敏
实现MaskCustom接口

Jackson序列化

MaskSerializer

MaskIgnoreUtils
是否忽略脱敏?

返回原始值

执行脱敏处理

always=true?

必须脱敏

可通过Holder忽略

3.7 过滤器链设计

HTTP请求

Order:0
SkipFilter

路径在白名单中?

跳过后续Filter
标记跳过

继续执行

Order:100
LogTrackFilter

创建LogTrack

绑定到ScopedValue

Order:101
CommonFilter

绑定CommonHolder
到ScopedValue

Controller处理请求

3.8 任务总线设计

任务开始

TaskBus.init
code / type / status

TaskBus.info
设置描述信息

TaskBus.time
设置任务时间

TaskBus.save

获取所有TaskBusInterface

逐个调用save方法

任务信息持久化

任务状态枚举

状态 说明
ING 0 进行中
SUCCESS 1 成功
ERROR 2 失败

3.9 虚拟线程设计

VirtualThreadTaskUtils

simple方法
简单虚拟线程执行

execute方法
带回调的虚拟线程执行

创建虚拟线程

执行Runnable任务

返回CompletableFuture

创建虚拟线程

执行任务

VirtualThreadTaskCallback
onSuccess / onError

四、编码规范设计

4.1 命名规范

类命名

类型 命名规范 示例
配置类 Boot{Module}Configuration BootCacheRedisConfiguration
导入选择器 Boot{Module}ImportSelector BootCacheRedisImportSelector
配置属性 {功能}Config LogBusConfig, StorageConfig
工具类 {功能}Utils RedisUtils, TreeUtils, TimeUtils
监控类 {组件}Monitor RedisMonitor, MySqlMonitor
枚举类 {功能}Enums / {功能}Enum MySqlMonitorEnums, MaskType
异常类 Biz{类型}Error BizError, BizWarning, BizPublicKeyError
接口 {功能}Interface / Base{功能} LogBusInterface, BaseTaskType
DTO {功能}Dto / {功能} Result, LogBody, TaskInfo, RunInfo
总线 {功能}Bus LogBus, TaskBus, MqBus
初始化 Init{功能} InitIp, InitMq, InitXxlJob
处理器 {功能}Handle / {功能}Handler RabbitMqHandle, DefaultMaskHandle
持有器 {功能}Holder LogTrackHolder, CommonHolder
注解 {功能} @Mask, @IgnoreXss

方法命名

操作 前缀 示例
初始化 init LogBus.init(), TaskBus.init()
保存 save logBus.save(), taskBus.save()
获取 get RedisService.get(), hashGet()
删除 del RedisService.del(), hashDelete()
判断 is/has/exists hashExists()
格式化 fmt fmtLog(), fmtStackTrace()
执行 do doSave()

4.2 注释规范

类注释格式

java 复制代码
/**
 * <p>Title : 类名称</p>
 * <p>Description : 类描述</p>
 * <p>DevelopTools : Idea_x64_v2026.1</p>
 * <p>DevelopSystem : macOS Sequoia 15.7.5</p>
 * <p>Company : org.xujun</p>
 *
 * @author : XuJun
 * @version : 5.0.0
 * @date : 2026/01/01 09:30
 */

方法注释格式

java 复制代码
/**
 * 方法描述
 *
 * @param param 参数说明
 * @return 返回值说明
 */

4.3 代码风格

  • Lombok简化代码:使用 @Data@Slf4j@Resource 等注解减少样板代码
  • 构造器注入:通过 @Resource 进行依赖注入
  • 统一返回格式:所有Controller方法返回 Result<T>
  • 统一异常处理:通过 @RestControllerAdvice 全局捕获异常
  • ScopedValue:使用JDK 21的ScopedValue替代ThreadLocal,用于线程间上下文传递
  • 虚拟线程:日志保存、消息处理等使用虚拟线程异步执行
  • 链式调用:LogBus、TaskBus、MqBus支持链式API调用
  • 接口驱动:LogBusInterface、TaskBusInterface、BaseMqHandle、StorageService均通过接口定义,业务层实现

4.4 设计规范

  • 单一职责:每个模块专注单一功能领域(缓存、日志、消息队列等)
  • 开闭原则:通过接口(LogBusInterface、TaskBusInterface、BaseMqHandle)支持扩展,无需修改框架代码
  • 依赖倒置:高层模块通过接口依赖低层实现,如StorageService接口抽象文件存储和S3存储
  • 按需加载:通过ImportSelector实现模块按需自动装配,引入依赖即生效
  • 总线模式:LogBus、TaskBus、MqBus统一采用总线模式,通过Spring容器获取所有接口实现

4.5 安全规范

  • XSS防护@IgnoreXss 注解标记不需要XSS过滤的字段,Jackson的String反序列化器自动过滤XSS
  • 数据脱敏@Mask 注解在JSON序列化阶段自动脱敏敏感数据
  • SQL监控:MyBatis拦截器记录慢查询和SQL日志
  • 参数验证:使用 @Valid 注解进行参数校验,全局异常处理器统一处理校验失败

五、项目依赖设计

5.1 核心框架依赖

依赖 版本 用途
Spring Boot 4.0.6 应用框架
Spring Framework 7.0.7 核心框架
Spring AMQP 4.0.3 RabbitMQ集成
Spring Data BOM 2025.1.5 Spring Data版本管理
Jakarta Servlet 6.1.0 Servlet规范

5.2 数据访问依赖

依赖 版本 用途
MyBatis 4.0.1 ORM框架
MyBatis-Plus 3.5.16 ORM增强工具
Druid 1.2.28 数据库连接池
MySQL Connector 9.7.0 MySQL驱动
Elasticsearch Client 9.2.8 Elasticsearch客户端

5.3 工具库依赖

依赖 版本 用途
Lombok 1.18.46 代码简化
MapStruct 1.6.3 对象映射
FastJSON2 2.0.60 JSON处理
Jackson 3.1.2 JSON序列化/反序列化
Commons Lang3 3.20.0 通用工具
Commons IO 2.22.0 IO工具
Commons Text 1.15.0 文本处理

5.4 扩展工具依赖

依赖 版本 用途
BouncyCastle 1.84 加密库
OSHI 6.12.0 系统监控
ip2region 3.3.7 IP地址定位
java-jwt 4.5.1 JWT令牌
Caffeine 3.2.3 本地缓存
AWS S3 SDK 2.42.41 S3对象存储

5.5 办公工具依赖

依赖 版本 用途
Fesod Sheet 2.0.1-incubating Excel处理
PDFBox 3.0.7 PDF处理

5.6 文档相关依赖

依赖 版本 用途
Knife4j 4.5.0 API文档增强
Swagger Annotations 2.2.48 OpenAPI注解
SpringDoc OpenAPI 3.0.3 OpenAPI文档生成

5.7 任务调度依赖

依赖 版本 用途
XXL-JOB 3.4.0 分布式任务调度

5.8 监控依赖

依赖 版本 用途
Spring Boot Admin 4.0.4 应用监控

5.9 其他工具依赖

依赖 版本 用途
Velocity 2.4.1 模板引擎
Easy Captcha 1.6.2 验证码生成
Jsoup 1.22.2 HTML解析
UserAgentUtils 1.21 浏览器标识解析
Pinyin4j 2.5.1 拼音转换
Thumbnailator 0.4.21 图片压缩
ZXing 3.5.4 二维码/条形码
mmseg4j 1.10.0 中文分词

5.10 POM继承链

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

管理

spring-boot-starter-parent
4.0.6

xtools-parent
5.0.0

xtools-parent-boot
5.0.0

xtools-boot
5.0.0

Spring Framework 7.0.7

Jackson 3.1.2

Spring AMQP 4.0.3

Elasticsearch 9.2.8

MySQL 9.7.0

Lettuce 6.8.2

RabbitMQ 5.27.1

Tomcat 11.0.21

FastJSON2 2.0.60

BouncyCastle 1.84

OSHI 6.12.0

MapStruct 1.6.3

Velocity 2.4.1

S3 SDK 2.42.41

ip2region 3.3.7

MyBatis-Plus 3.5.16

MyBatis 4.0.1

Druid 1.2.28

Knife4j 4.5.0

XXL-JOB 3.4.0

Spring Boot Admin 4.0.4

六、技术选型说明

6.1 JDK 25

  • LTS版本:JDK 25是长期支持版本,提供长期稳定的安全更新
  • 虚拟线程(Virtual Threads):项目大量使用虚拟线程进行异步操作,如日志保存、消息处理,大幅简化并发编程
  • ScopedValue:替代传统的ThreadLocal,用于线程间上下文传递(LogTrack、CommonHolder),性能更优且更安全
  • Record模式匹配:枚举类型使用record定义,支持简洁的模式匹配语法
  • Switch表达式:全局异常处理器等场景使用增强的switch表达式
  • 文本块和String模板:日志格式化等场景使用文本块提升可读性

6.2 Spring Boot 4.0.6

  • Spring Framework版本:7.0.7,提供最新的核心功能
  • Jakarta EE 11:全面支持Jakarta EE 11规范(Jakarta Servlet 6.1.0)
  • 自动配置:所有模块基于Spring Boot自动配置机制,引入依赖即生效
  • Actuator:内置应用监控端点
  • 嵌入式容器:Tomcat 11.0.21

6.3 MyBatis-Plus 3.5.16

  • 简化CRUD:通过BaseMapper提供通用增删改查
  • 分页插件:内置分页拦截器,配合QueryUtils实现分页查询
  • 代码生成:配合xtools-app-gen模块实现代码生成
  • SQL解析:通过mybatis-plus-jsqlparser支持SQL解析和优化
  • 支持MyBatis版本:4.0.1

6.4 Elasticsearch 9.2.8

  • Spring Data Elasticsearch:通过Spring Data BOM 2025.1.5管理
  • 全文搜索:用于日志检索和全文查询
  • 高性能:基于Lucene的分布式搜索引擎
  • EsUtils:封装ES的GET/POST操作
  • EsQueryUtils:封装常用查询条件(matchPhrase、wildcard、timeRange)

6.5 Redis

  • Spring Data Redis:通过Spring Boot 4.0.6管理(Lettuce 6.8.2客户端)
  • RedisService:封装String、Hash、分布式锁等操作
  • FastJSON2序列化:使用FastJSON2进行Redis值的序列化/反序列化
  • 分布式锁:基于RedisTemplate的setIfAbsent + Lua脚本实现

6.6 RabbitMQ

  • Spring AMQP:4.0.3版本,提供RabbitMQ集成
  • RabbitMQ Client:5.27.1版本
  • 消息总线:通过MqBus统一消息推送接口
  • 消息编解码:MqMessageUtils提供消息的打包/解包

6.7 其他重要技术选型

技术 版本 选型原因
Jackson 3.1.2 Spring Boot默认JSON库(tools.jackson包),用于HTTP响应序列化
FastJSON2 2.0.60 高性能JSON库,用于Redis序列化和内部数据处理
Knife4j 4.5.0 增强Swagger UI,提供更友好的API文档界面
XXL-JOB 3.4.0 轻量级分布式任务调度平台
Druid 1.2.28 阿里巴巴数据库连接池,内置SQL监控和防火墙
ip2region 3.3.7 离线IP地址定位库,无需网络请求
BouncyCastle 1.84 Java加密扩展库,支持SM2/SM3等国密算法
OSHI 6.12.0 跨平台系统信息监控库
S3 SDK 2.42.41 AWS官方S3客户端,支持所有S3兼容存储
Spring Boot Admin 4.0.4 开源应用监控管理平台

文档版本:v1.0
编写日期:2026-06-09
项目版本:5.0.0
父POM版本:xtools-parent-boot:5.0.0
顶级父POM:xtools-parent:5.0.0
JDK版本:25
维护团队xujun.org

优秀的个人博客,低调大师

微信关注我们

本文章为原创内容,如需转载请注明来源!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

xtools一款基于JDK25的通用Java工具库

xtools一款基于JDK25的通用Java工具库

xtools 项目设计文档 开源地址: https://gitee.com/jun-xtools/xtools.git 一、功能和用途 1.1 项目概述 xtools(低调大师工具箱)是一个基于 JDK 25 的 Java 工具库项目,为 Java 应用开发提供通用的工具方法和基础组件支持。 项目信息 说明 项目名称 xtools 项目版本 5.0.0 父POM xtools-parent:5.0.0 JDK版本 25 项目定位 通用Java工具库,提供加密、时间、系统、网络、文档等工具方法 维护团队 org.xujun 1.2 技术特点 采用最新的 JDK 25 版本,充分利用新特性(Rec...

xtools-app一款基于JDK25,SpringBoot4,SpringCloud的最新微服务脚手架

xtools-app一款基于JDK25,SpringBoot4,SpringCloud的最新微服务脚手架

xtools-app 设计文档 开源地址: https://gitee.com/jun-xtools/xtools-app.git 一、功能和用途 1.1 项目概述 项目属性 值 项目名称 xtools-app 项目版本 1.0.0 父POM org.xujun:xtools-parent-cloud:5.0.0 JDK版本 25 项目描述 低调大师工具箱,基础应用模块,适配JDK25 组织 org.xujun (https://www.xujun.org) xtools-app 是一套基于 Spring Boot 构建的企业级基础应用平台,提供系统管理、代码生成、监控管理等核心功能。项目采用...

相关文章

发表评论

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册