- 依赖规范,统一的父pom,三方依赖库、版本管理
- 常用组件、工具类封装,方便代码复用
<!--添加依赖管理-->
<dependencyManagement>
<dependency>
<groupId>io.github.guanyang</groupId>
<artifactId>spring-base-parent</artifactId>
<version>2.0.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencyManagement>
<!--添加具体依赖示例-->
<dependencies>
<dependency>
<groupId>io.github.guanyang</groupId>
<artifactId>spring-base-core</artifactId>
</dependency>
</dependencies>| 模块(artifactId) | 说明 | 备注 |
|---|---|---|
| spring-base-core | 基础核心定义 | 参考文档 |
| spring-base-util | 常用工具类合集 | 参考文档 |
| spring-base-csrf | csrf组件 | 参考文档 |
| spring-base-sign | 接口签名组件 | 参考文档 |
| spring-base-xss | 接口参数xss校验组件 | 参考文档 |
| spring-base-lock | 分布式锁组件 | 参考文档 |
| spring-base-log | 日志组件 | 参考文档 |
| spring-base-limit | 限流组件 | 参考文档 |
| spring-base-idempotent | 幂等组件 | 参考文档 |
| spring-base-mq | 消息组件 | 参考文档 |
- 添加springboot3 processor配置提示支持
- 更新maven配置
- 更新workflow配置
- 调整项目groupId为
io.github.guanyang - 调整项目package为
io.github.guanyang
- 升级springboot版本到3.5.5
- 升级jdk版本到25
- 更新【spring-base-mq】模块代码
Properties标准化管理,添加IDE配置提示,提升配置体验- 添加Kafka消息队列支持
添加【spring-base-mq】模块代码,提供统一的消息处理框架,该组件具有以下特点:
- 注解驱动:通过
@DynamicEventStrategy和@EnableMQ注解简化消息处理配置 - 事件驱动架构:基于
IEventType和IMessageType接口实现灵活的事件和消息类型管理 - AOP切面支持:通过切面实现事件处理的统一拦截和管理
- 多消息队列支持:目前支持RocketMQ,后续方便扩展其他消息队列
- 可扩展性:提供丰富的扩展点,支持自定义消息处理逻辑
- 消息幂等支持:基于Redisson实现,需要添加redis相关配置
- 事件日志记录:自定义
EventLogService实现,可记录事件处理日志
- 优化【spring-base-lock】模块代码,分布式锁执行器支持自定义扩展,实现
LockExecutorResolver接口RedissonLockExecutorResolver: 基于Redisson的执行器,默认启用RedisLockExecutorResolver: 基于原生Redis+lua的执行器
- 优化【spring-base-lock】模块代码
- 支持自定义降级行为,定义
fallback和fallbackBean
- 支持自定义降级行为,定义
- 优化【spring-base-limit】模块代码
- 支持
TIME_WINDOW、TOKEN_BUCKET和SLIDING_WINDOW三种限流算法 - 支持自定义降级行为,定义
fallback和fallbackBean - 支持动态设置限流大小,支持
limitExpression和capacityExpression
- 支持
- 优化【spring-base-idempotent】模块代码
- 支持自定义降级行为,定义
fallback和fallbackBean
- 支持自定义降级行为,定义
- 优化【spring-base-lock】模块代码
- 基于
ScheduledExecutorService实现锁续期,避免业务处理过长导致锁失效
- 基于
- 优化【spring-base-limit】模块代码
- 优化限流核心逻辑,支持多种限流key解析器,也可以自定义扩展
- 优化【spring-base-lock】模块代码
- 优化锁调用核心逻辑及超时处理,支持毫秒级
- 添加【spring-base-idempotent】幂等组件模块,默认基于
Redis实现幂等 - 优化全局统一版本号revision管理
- 升级框架依赖组件
- 优化【spring-base-core】模块代码
- 优化
TraceUtils工具,支持链路追踪自定义配置 - 优化
IStdEnum工具,优化枚举高效检索能力
- 优化
- 升级框架依赖组件
- 模块【spring-base-util】能力增强
- 添加
DataLoadUtils工具,实现数据分批加载,避免单次处理数据过大,同时支持CompletableFuture多线程任务执行处理
- 添加
- 优化【spring-base-sign】模块代码
- 优化【spring-base-core】模块SPI代码
- 升级框架依赖组件,解决安全漏洞
- 添加【spring-base-limit】全局限流模块,默认实现
Redis限流,支持SPI扩展 - 优化【spring-base-lock】模块代码
- 优化锁调用逻辑
- 优化Spel表达式支持能力
- 优化【spring-base-sign】模块代码
- 优化签名及验签逻辑
- 增加验签时间戳偏移校验,增加时间戳偏移自定义能力
- 添加Filter和FilterChain支持
- 完善Exception类型及ExceptionHandlerI处理
- 模块【spring-base-util】添加FileFilter过滤清洗,防止文件上传违规内容
- 支持常见图片文件头尾字节码检查,防止恶意篡改文件扩展名上传,例如:jpg、png、gif、bmp
- 支持图片文件字节码流内容清洗,剔除夹带恶意代码
- 模块【spring-base-core】添加statemachine状态机,支持Fluent API调用
- 模块【spring-base-core】添加SPI扩展工厂,方便扩展定义实现
- 初始版本