spring-boot-devlisted
Install: claude install-skill BaixuanZhu/skills
# Spring Boot 开发助手
面向日常 Java 开发的 Spring Boot **框架层**编码助手。推荐 **3.5.x**(3.x 末线,2025-05 GA),**2.7.x 仍适用**(差异已注明),4.x 已 GA。采用**完全本地自包含**策略:所有知识沉淀于本地 `references/`,运行时不依赖任何外部文档站点。
**只管框架层**:三层架构写法、配置、校验、全局异常、事务、异步、定时、事件、自动装配、SpringDoc。**不管** 项目初始化 / 脚手架(→ spring-boot-init)、ORM(→ mybatis-plus-dev)、Java 语言层(→ java-coding-guide-pro)、单测(→ java-unit-test)、集成测试 / 冒烟 / E2E(→ java-integration-test)。认证鉴权:项目已用 Sa-Token → sa-token-dev;否则本技能提供 HttpSession / ThreadLocal 最小方案。
## 版本与命名空间(先判 SpringBoot 版本)
| SpringBoot | GA 状态 | 命名空间 | 备注 |
|---|---|---|---|
| 2.7.x | 2.x 末线(仅商业支持) | `javax.*` | 新项目不再选;存量迁移参考 `references/10-condition-bean.md` |
| **3.5.x** | **3.x 末线(2025-05 GA),推荐** | `jakarta.*` | JDK 17+ 基线;Spring Framework 6.2 |
| 4.x | 已 GA | `jakarta.*` | 新功能线;核心注解语义与 3.x 一致 |
- **3.x 起最大破坏**:`javax.*` → `jakarta.*`(`javax.servlet`→`jakarta.servlet`、`javax.validation`→`jakarta.validation`、`javax.persistence`→`jakarta.persistence`)。`javax.*` 依赖(旧版 Sa-Token / 旧版 MyBatis)在 3.x 项目里**直接 ClassNotFound**。
- **JDK 基线**:3.x 起 **JDK 17**;2.7.x 仍支持 JDK 8/11。Java 语言层门控属 **java-coding-guide-pro**。
## 第 0 步:版本探测与边界判定(收到任务先做这一步)
任务涉及 Spring Boot 框架层(Controller / Service / 配置 / 校验 / 异常 / 事务 / 异步 / 定时 / 事件 / 自动装配)——**先检索项目依赖与代码**:
| 探测项 | 方法 | 判定 |
|---|---|---|
| SpringBoot 版本 | `pom.xml` 读 `spring-boot-starter-parent` 版本,或 `build.gradle` 读 `org.springframework.boot` 插件版本 | 决定 `javax.*` vs `jakarta.*`、JDK 基线、可用特性 |
| 命名空间 | 代码里搜 `import javax.` vs `import jakarta.` | 与 SpringBoot 版本须一致,混用即启动失败 |
|