CyberTool 是 CyberTools 在线工具箱的后端服务,负责用户注册登录、JWT 鉴权、反馈收集、路线图、更新日志和对象存储等能力。仓库采用 Spring Boot 多模块结构,适合作为前后端分离项目中的后端工程展示。
- 基于 Java 17 和 Spring Boot 3.2 构建,采用 Maven 多模块组织代码。
- 使用 JWT 完成登录认证,并预留 Redis 支撑会话和缓存能力。
- 基于 MyBatis / MyBatis XML 管理用户、反馈、路线图和更新日志数据。
- 对接阿里云 OSS,所有云服务密钥均通过环境变量注入。
- 提供 Dockerfile 和 GitHub Actions 工作流,支持容器化部署。
- 已移除 IDE 私有配置和硬编码密钥,公开仓库只保留占位配置。
| 分类 | 技术 |
|---|---|
| 运行环境 | Java 17、Spring Boot 3.2.5 |
| 数据存储 | MySQL、Redis、MyBatis |
| 鉴权方案 | JWT |
| 对象存储 | Aliyun OSS SDK |
| 构建部署 | Maven 多模块、Docker、GitHub Actions |
.
├── cyber-common # 通用常量、异常和工具类
├── cyber-dao # Mapper 接口与持久层契约
├── cyber-domain # 实体、DTO 和值对象
├── cyber-service # 业务服务实现
├── cyber-web # Spring Boot 启动模块与 HTTP 接口
├── Doc/Mysql # 数据库脚本
├── Dockerfile
└── pom.xml
- 准备 Java 17、Maven、MySQL 和 Redis。
- 创建数据库并导入
Doc/Mysql下的 SQL 脚本。 - 复制示例环境变量文件,并在本地填入真实值:
cp .env.example .env- 启动服务:
mvn -pl cyber-web -am spring-boot:run默认端口为 8080。
application-dev.yml 和 application-prod.yml 中的敏感项均通过环境变量读取,不再保存真实密码或云服务密钥。
| 变量 | 说明 |
|---|---|
MYSQL_HOST、MYSQL_PORT、MYSQL_USERNAME、MYSQL_PASSWORD、MYSQL_DATABASE |
MySQL 连接配置 |
REDIS_HOST、REDIS_PORT、REDIS_DATABASE |
Redis 连接配置 |
CYBER_JWT_SECRET |
JWT 签名密钥 |
ALIOSS_ACCESS_KEY_ID、ALIOSS_ACCESS_KEY_SECRET、ALIOSS_BUCKET_NAME |
阿里云 OSS 配置 |
mvn -B clean package构建 Docker 镜像:
docker build -t cybertool-backend .公开仓库只保留占位符和环境变量引用。真实数据库密码、JWT Secret、对象存储 AK/SK 应放在本地 .env、服务器环境变量或 CI/CD Secret Store 中。