企业级 Spring Boot 后端开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/enterprise-spring-boot-backend。
技能介绍
问题背景
企业 Spring Boot 后端往往不是“能不能跑”的问题,而是边界越来越难守:controllers 直接查库,services 引用 API DTO,entities 被当作响应对象,跨模块依赖绕开 facade,事务和事件散落各处。结果就是改一个接口要翻多个包,OpenAPI 与实现不同步,数据库约束和代码状态互相矛盾,测试只能靠人工兜底。
工作方式
该技能把变更约束成可审查的工程流程。先读 AGENTS.md、README、docs/**、API guidelines、build files,再看最近 git history,并明确受影响模块、contracts、migrations、tests 和不动边界。若涉及 public API、persistence shape、依赖方向、auth、transaction 或 error semantics,先作为设计决策说明权衡。
核心能力包括:
- 模块边界:优先 modular monolith,其他模块只通过
facade访问,避免 controller/service/repository 跨模块直连。 - API-first:先更新 OpenAPI,再生成 contracts,controller 实现生成接口,请求映射为 command records,结果映射为 response records。
- 分层契约:controller 管 HTTP 与 DTO,service 管业务、事务和事件,repository 只管持久化查询,mapper 保持无副作用。
- 持久化与事务:用数据库约束保护 invariant,谨慎修改 Flyway,事务放在 service 层并避免自调用绕过 AOP。
- 安全审计:身份从 token/session 推导,敏感操作写 audit log,避免记录 secrets、tokens、完整个人标识。
适用边界
它更适合已有明确仓库规范、OpenAPI、Modulith/architecture tests 的企业级 Java 后端。若项目是脚本型服务、快速原型、或强依赖现有非标准 DTO 风格,应优先遵守仓库约定,而不是机械套用该技能。对于 public API、migration、auth、transaction 的变更,仍需保持小步可编译,并让测试、OpenAPI 与数据库约束一起通过。
使用场景
- 接手 Spring Boot 仓库时,先用 OpenAPI 生成接口契约,再实现 controller,避免直接手写未记录 API。
- 重构跨模块调用时,把直接 repository/service 依赖替换为 facade 与 command/result records,并保留架构测试。
- 修改金额、UUID、PATCH nullable 字段时,需要按 API 规则使用 BigDecimal/string 和 JsonNullable 区分 undefined、null 与有值。
- 提交前跑最窄测试、clean build 和 Testcontainers 集成测试,确认 migration 与生成代码没有破坏编译。
适合人员
- 维护企业 Spring Boot 模块的 Java 后端工程师,希望控制 controller/service/repository 边界和跨模块依赖方向。
- 负责 OpenAPI 与 DTO 映射的接口开发者,需要在 contract 变更后同步生成接口、MapStruct 映射和校验。
- 审查 PR 的技术负责人,需要快速识别实体外泄、API DTO 进 service、事务放错层和安全审计缺失。
- 维护 Flyway 迁移与 PostgreSQL/Redis 集成的后端工程师,希望 migration、测试和 clean build 一起可验证。