Rock Blade Java 是一个基于 Spring Boot 3.5.5 和 Java 25 的模块化模板项目。主要用于mvp以及各种从0到1的一个自建框架形项目。
1. 认证授权 - 支持JWT token认证,Sa-Token集成
2. 数据库监控 - PostgreSQL性能监控(pg_stat_statements)
3. 系统监控 - JVM、进程、系统指标采集(Micrometer + Prometheus)
4. 告警通知 - 邮件告警系统
5. API文档 - Knife4j集成(可选)
6. 国际化 - i18n多语言支持
7. CI/CD - GitHub Actions自动化部署配置
2.1 认证授权模块
实现位置: system/service/impl/auth/AuthServiceImpl.java
核心功能:
- RSA前端加密登录: 前端获取公钥 → 加密密码 → 后端RSA解密
- 多种登录方式: 用户名、邮箱、手机号登录
- 验证码功能: 邮件验证码发送与验证
- JWT Token: 使用Sa-Token整合JWT实现无状态认证
关键代码流程:
// 1. 获取RSA公钥
PublicKeyResponse getPublicKey(String nonce)
// 2. 用户名密码登录
authByUsername() → decryptPassword() → BCrypt校验 → Sa-Token登录
// 3. 邮箱验证码登录
authByEmail() → 验证码校验 → Sa-Token登录
// 4. 注册/重置密码
registerByUsername() / resetPasswordByEmail()
安全特性:
- 密码前端RSA加密传输,后端BCrypt存储
- 私钥存入Redis,设置过期时间
- 验证码限时限次使用
2.2 监控模块
实现位置: framework/config/MonitorConfig.java + framework/monitor/DatabaseMonitor.java
系统监控指标:
| 指标类别 | 监控项 |
|---------|--------|
| CPU | 系统负载、CPU使用率 |
| 内存 | JVM堆/非堆内存、系统内存 |
| 磁盘 | 磁盘总量、使用量、使用率 |
| 网络 | 各网卡接收/发送字节数 |
| GC | GC次数、GC耗时 |
| 线程 | JVM线程数 |
数据库监控指标:
// 连接池监控
hikaricp.connections.active // 活跃连接数
hikaricp.connections.idle // 空闲连接数
// PostgreSQL性能监控
postgres.stats.commits/rollbacks // 事务提交/回滚
postgres.stats.blocks_read/hit // 磁盘读写
postgres.table.seq_scan/idx_scan // 表扫描次数
// 慢查询监控 (需要pg_stat_statements扩展)
postgres.slow_query.avg_latency // 平均延迟
postgres.slow_query.max_latency // 最大延迟
告警规则 (Prometheus AlertManager):
- 系统资源: CPU/内存/磁盘使用率告警
- JVM: 堆内存、线程数、GC频率告警
- 数据库: