# sp3 **Repository Path**: qfsz168/sp3 ## Basic Information - **Project Name**: sp3 - **Description**: springboot3,开箱即用的后端架构 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: http://api.vue3.qfsz168.top - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-02-02 - **Last Updated**: 2025-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SP3 项目文档 ## 项目介绍 SP3 是一个基于 Spring Boot 的多模块 Java 项目,包含 API 服务、任务调度和权限控制(RBAC)等模块。项目使用 MyBatis Plus 作为 ORM 框架,Redisson 用于分布式锁,还集成了 ChatGPT、WebSocket、SSE �://4040.0.0.1:8080 ## 目录结构 - **sp3-api** - 主 API 服务 - **sp3-task** - 定时任务模块 - **sp3-rbac** - 权限控制模块 - **sp3-base** - 公共组件和工具类 - **assembly** - 构建配置 - **doc** - 文档和配置文件 ## 核心功能 ### sp3-api - 提供 RESTful API 服务 - 集成 ChatGPT 控制器 - 实现导出数据到 Excel 功能 - 包含用户管理相关接口 - 使用 Redisson 实现分布式锁 - 集成 WebSocket 和 SseEmitter 实现即时通讯 - 包含文件下载和加密传输过滤器 ### sp3-task - 提供定时任务功能 - 使用 Redisson 实现分布式任务选举和执行 - 包含日志和过滤器组件 ### sp3-rbac - 实现基于角色的访问控制 - 包含用户、角色、权限管理接口 - 提供 API 认证和过滤机制 ## 开发与部署 ### 本地开发 1. 使用 `application-dev.yml` 配置开发环境 2. 通过 `restart-dev.sh` 脚本启动开发服务器 3. 使用 `stop-dev.sh` 停止开发服务器 ### 生产部署 1. 使用 `application.yml` 配置生产环境 2. 通过 `restart-prod.sh` 脚本启动生产服务器 3. 使用 `logback-spring.xml` 进行日志配置 ### 测试环境 - 提供两个测试部署脚本:`restart-test-1.sh` 和 `restart-test-2.sh` - 对应的停止脚本:`stop-test-1.sh` 和 `stop-test-2.sh` ## 特色组件 - **分布式锁**: 使用 Redisson 实现,通过 `@DistributedLock` 注解应用 - **加密传输**: 提供 SM2/SM4 加密解密功能 - **异常处理**: 全局异常处理器捕获和处理各种数据库和 HTTP 异常 - **日志记录**: 包含 HTTP 请求日志和数据访问日志 - **定时任务**: 使用 Spring Scheduling 和 Redisson 实现分布式定时任务 ## API 文档 - 使用 `@ApiAuth` 注解进行接口权限标记 - 提供标准 RESTful 接口 - 支持 SseEmitter 实现服务器发送事件 - WebSocket 支持通过 `@ServerEndpoint` 注解配置 ## 数据库与数据安全 - 使用 MyBatis Plus 处理数据库操作 - 提供数据加密/解密拦截器 - 包含敏感数据字段注解 `@SensitiveBean` ## 许可证 本项目使用标准 Java 许可证。具体请查看根目录下的 LICENSE 文件。 ## 构建与打包 - 使用 standard Maven 构建配置 - 提供 assembly 描述符用于定制化打包 ## 注意事项 - 项目包含多处 `@Deprecated` 标记的代码,可能需要后续更新 - 部分配置文件和类使用了 hard-coded 参数,部署时需要根据实际情况修改 - 项目使用了 Spring Profiles 来管理不同环境配置 ## 依赖项 - Spring Boot 2.x - MyBatis Plus - Redisson - Lombok - Swagger(隐含) - Nacos(用于配置管理,隐含) ## 联系方式 项目联系人和具体维护信息请参看各个模块的源代码注释和作者信息。