2026-09-18
更新概览
- create-wl-app(v1.1.0):新增
spring-boot后端模板,脚手架从纯前端扩展到全栈;生成器支持 Java 包名替换与占位目录重命名。 - 全新仓库 springboot-template:Java 25 + Spring Boot 4 企业级后端模板,与四套前端模板共享同一套登录鉴权契约。
- 四套前端模板 README 增加推荐后端模板章节,SPA 与 SSR 的接入路径形成闭环。
全新 Spring Boot 后端模板 (springboot-template)
模板能力
- 模块化单体:按
auth/user/authorization/audit/shared业务域组织代码,域内保留 api / application / domain / infrastructure 边界,ArchUnit 规则强制依赖方向与禁字段注入。 - 可撤销会话:登录签发 256-bit opaque token,Redis 只存 SHA-256 摘要;普通会话 8 小时、remember 会话 30 天;同账号最多 5 个会话(Lua 原子驱逐最旧)。登出、禁用用户、角色变更即时撤销全部会话。
- 安全姿态:登录限流 IP/账号双维度(5 次/分钟、20 次/小时,Lua 原子计数);安全审计记录登录、注销与全部管理操作,IP/UA 只存哈希;Redis 故障时鉴权失败关闭(503),绝不退化为匿名。
- 用户与权限管理:用户 CRUD、分页(排序字段服务端白名单)、方法级权限(
user:read/user:write/user:role:write)、乐观锁并发控制、首管理员 bootstrap 入口(默认关闭、无默认密码)。 - 可观测性:结构化 JSON 日志(requestId/traceId/spanId)、Prometheus 指标、独立管理端口探针(readiness 聚合 MySQL 与 Redis 健康态)、OTLP tracing 开关。
模板化与生成
- 与前端模板的
约定保持一致,后端模板使用/占位符,Java 包目录为src/main/java/,仓库本身不可直接编译。 - 两种生成方式:
create-wl-app(管道符追加一行 Java 包名)或仓库自带的scripts/generate.sh -n 项目名 -p Java包名 -d 目标目录。 - CI 的质量门禁运行在生成后的项目上:生成 →
./mvnw clean verify→ 镜像与 SBOM。
质量门禁
| 门禁 | 结果 |
|---|---|
| 单元/切片测试 | 98 个全部通过 |
| Testcontainers 集成与契约测试 | 44 个全部通过(真实 MySQL 8.4 + Redis 容器) |
| JaCoCo | 全局行 94.2% / 分支 82.6%,核心域行 ≥90%、认证应用服务分支 ≥85% 门禁通过 |
| ArchUnit | 13 条依赖边界规则通过 |
前端模板联动
- 四套前端模板 README 新增「推荐后端模板」章节并链接 springboot-template。
- SPA 登录字段统一为
username/password/remember;SSR 模板的 HttpOnly Cookie 会话(auth_token)直接对接后端POST /api/v1/login。
