Java 微服务技术栈规范
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9501dc6b/stack-be-java。
技能介绍
要解决什么问题
团队里 Java 微服务常出现「每人一套 Gradle 结构、响应 JSON 各写各的、REST 路径带 {id}、Controller 里堆业务」——评审成本高,也很难和现有腾讯系 starter(统一响应、七彩石、Polaris)对齐。本技能把 10 年架构师级约定 写进可执行的 assets/project-template/ 脚手架,并附带 Project CRUD 分层参考实现,让生成与重构代码时有明确对照物,而不是口头规范。
技能如何工作
- 技术栈锁定:JDK 17、Gradle 8.10 多模块、Spring Boot 3.3.5(Jakarta)、Ebean 13.18、MySQL 8、Redis(Jedis)、knife4j、p6spy 等;版本集中在根
gradle.properties。 - 新建服务必走模板:复制模板 → 批量替换
template/template-service→ 校验settings.gradle、主类与application.yml→./gradlew build -x test验证;禁止从零手写工程骨架。 - 分层与 API 铁律:Controller 只编排;Service 接口/实现分离且不返回 VO;Repository 为
XxxDao+ QueryBean;URL 不含资源 id(动作用/projects/create、/detail等,id 进@RequestBody且对外String);对外一律ServiceResponse/PageResultResponse,业务异常走ServiceException与分段错误码。 - 编码与自检:阿里嵩山版命名/格式、方法 ≤80 行、关键逻辑用
// 1. xxx步骤注释;提交前对照 SKILL 内自检清单(事务、软删、VOfrom()工厂等)。
适用边界
- 面向 风格 A 的微服务后端,不是通用 Spring 教程;强依赖模板中的 CRM starter、鉴权三件套、Rainbow/Polaris 等接入方式。
- SkillHub 分发版需按
references/template-build-files.md还原被平台过滤的 Gradle/Docker 等构建文件后再 wrapper,否则无法与文档中的构建路径一致。 - 新增三方依赖须先与用户确认并写入
gradle.properties;实体与查询需遵守 Ebean 不继承io.ebean.Model、默认软删过滤等约束,偏离模板需自行承担集成风险。
使用场景
- 新建业务微服务时,需从 project-template 初始化 Gradle 多模块工程并替换包名后能通过 build
- 接手遗留接口要把 URL 里的路径 id 改成 /detail、/update,且 id 走 RequestBody 与 IdCodec
- Controller 里写了查询与校验逻辑,需要拆到 Service 与 XxxDao,并统一用 ServiceResponse 返回
- 在现有服务里加一套领域 CRUD,需对照模板里 Project 分层与 QueryBean 软删查询写法实现
适合人员
- 负责腾讯系 starter(统一响应、七彩石、Polaris)接入的 Java 后端,需与团队模板保持一致
- 带新人或做 Code Review 的后端 Tech Lead,要按分层铁律与 API 不含路径 id 逐条对照
- 从手写 Gradle 或 JDK 8 项目迁移到 JDK 17 + Spring Boot 3 Jakarta 栈的维护者
- 用 AI 生成 Java 代码但常被自造响应信封、RESTful 路径参数打回的微服务开发者