catalog/repos/a-pavithraa--springboot-skills-marketplace.md

197 lines
6.8 KiB
Markdown
Raw Permalink Normal View History

2026-04-06 19:01:37 +08:00
# Spring Boot 架构技能集
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
`Spring Boot` `架构模式` `Claude Code` `代码生成` `DDD`
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
# Spring Boot 技能市场
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
帮助你构建真正适合需求的 Spring Boot 应用架构的 Claude Code 技能集。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 为什么存在
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
项目起初简单,往往越来越混乱。这些技能帮助你根据当前阶段选择合适的架构——并在复杂度增加时提供清晰的演进路径。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
> **从简单开始。只在复杂度真正需要时才引入复杂度。**
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
基于 [spring-boot-application-architecture-patterns](https://github.com/sivaprasadreddy/spring-boot-application-architecture-patterns) 中的模式构建。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 架构模式(渐进式)
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
| 模式 | 复杂度 | 适用场景 |
|------|--------|----------|
| **分层架构** | ⭐ 低 | 简单 CRUD、原型、MVP |
| **按模块分包** | ⭐⭐ 低-中 | 3-5 个独立功能、中型应用 |
| **模块化单体** | ⭐⭐ 中 | 需要模块边界、Spring Modulith |
| **Tomato** | ⭐⭐⭐ 中-高 | 丰富领域、值对象、类型安全 |
| **DDD+六边形** | ⭐⭐⭐⭐ 高 | 复杂领域、CQRS、基础设施解耦 |
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 安装
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
> **使用 Codex** 请参阅 [CODEX-COMPATIBILITY.md](./CODEX-COMPATIBILITY.md) 获取详细的 Codex 安装和使用说明。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
### Claude Code插件市场
2026-04-06 15:47:33 +08:00
```bash
/plugin marketplace add a-pavithraa/springboot-skills-marketplace
/plugin enable a-pavithraa/springboot-skills-marketplace
/plugin install springboot-architecture@springboot-skills-marketplace
```
2026-04-06 19:01:37 +08:00
### Claude Code手动安装
2026-04-06 15:47:33 +08:00
```bash
2026-04-06 19:01:37 +08:00
# 克隆或下载本仓库
2026-04-06 15:47:33 +08:00
git clone https://github.com/a-pavithraa/springboot-skills-marketplace.git
2026-04-06 19:01:37 +08:00
# 将技能复制到 Claude Code 技能目录
2026-04-06 15:47:33 +08:00
cp -r springboot-skills-marketplace/plugins/springboot-architecture/skills/* ~/.claude/skills/
```
2026-04-06 19:01:37 +08:00
### Codex手动安装
2026-04-06 15:47:33 +08:00
```bash
2026-04-06 19:01:37 +08:00
# 克隆或下载本仓库
2026-04-06 15:47:33 +08:00
git clone https://github.com/a-pavithraa/springboot-skills-marketplace.git
2026-04-06 19:01:37 +08:00
# 将技能复制到 Codex 技能目录
2026-04-06 15:47:33 +08:00
mkdir -p ~/.codex/skills
cp -r springboot-skills-marketplace/plugins/springboot-architecture/skills/* ~/.codex/skills/
```
2026-04-06 19:01:37 +08:00
## 使用方法
2026-04-06 15:47:33 +08:00
### Claude Code
2026-04-06 19:01:37 +08:00
技能在相关场景下会被自动发现和加载。Claude 会根据你的请求自动调用:
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
你:"我需要创建一个新的 Spring Boot 微服务"
Claude[自动加载 creating-springboot-projects 技能]
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
也可以显式请求某个技能:
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
你:"使用 spring-data-jpa 技能优化这个 Repository"
2026-04-06 15:47:33 +08:00
```
### Codex
2026-04-06 19:01:37 +08:00
技能需要使用 `$skill-name` 语法手动调用:
2026-04-06 15:47:33 +08:00
```
using $creating-springboot-projects create a new order service
using $spring-data-jpa optimize this repository code
using $springboot-migration upgrade to Spring Boot 4
using $code-reviewer review this service implementation
```
2026-04-06 19:01:37 +08:00
如需引用详细参考章节,请包含路径:
2026-04-06 15:47:33 +08:00
```
using $spring-data-jpa and ~/.codex/skills/spring-data-jpa/references/dto-projections.md implement efficient queries
```
2026-04-06 19:01:37 +08:00
## 可用技能
2026-04-06 15:47:33 +08:00
### creating-springboot-projects
2026-04-06 19:01:37 +08:00
通过几个问题了解你的项目,然后从一开始就构建正确的架构。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
你将获得评估驱动的脚手架生成、Spring Initializr 配置以及值对象、富实体、CQRS 模式、转换器等模板——根据所选架构按需提供。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**快速评估涵盖:**
- 领域复杂度CRUD vs. 业务规则)
- 团队规模和项目生命周期
- 类型安全需求
- 限界上下文
2026-04-06 15:47:33 +08:00
### spring-data-jpa
2026-04-06 19:01:37 +08:00
帮助你写出六个月后也不会拖慢系统的 JPA 代码。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
涵盖查询模式、DTO 投影、自定义 Repository、CQRS 查询服务,以及最终会坑到所有人的性能反模式(为每个实体建 Repository、方法名查询地狱、盲目调用 `save()`)。
2026-04-06 15:47:33 +08:00
### springboot-migration
2026-04-06 19:01:37 +08:00
逐步迁移到 Spring Boot 4 + Java 25支持 Spring Modulith 2 和 Testcontainers 2
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
先扫描你的项目,再分阶段引导完成依赖 → 代码 → 配置的迁移。包含重试/韧性模式以及每个升级目标的参考文档。
2026-04-06 15:47:33 +08:00
### code-reviewer
2026-04-06 19:01:37 +08:00
对你的 Boot 4 / Java 25 项目进行架构适配性和性能问题的全面检查。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
涵盖五种架构模式何时使用、何时避免以及事件、CQRS、Modulith 边界的检查清单。能发现 N+1 查询、缺失缓存、虚拟线程锁定等性能陷阱。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
当你需要第二意见,或需要判断是否到了演进架构的时候,使用此技能。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 使用示例
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**"我需要一个基本 CRUD 的产品 REST API。"**
→ 询问你的领域、团队和时间线,建议分层架构,生成脚手架。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**"我需要一个包含支付和库存规则的订单服务。"**
→ 评估复杂度,推荐 Tomato 架构生成值对象、富实体、CQRS 服务。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**"我的产品搜索很慢。"**
→ 分析查询,发现 N+1 问题,重构为 DTO 投影。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**"我们需要从 Boot 3 迁移到 Boot 4。"**
→ 运行迁移扫描器,规划分阶段升级(依赖 → 代码 → 配置),逐步应用并验证。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**"能帮我们审查 Boot 4 服务是否有问题吗?"**
→ 检查架构模式适配性排查性能问题N+1、缺失缓存、虚拟线程锁定、实体泄漏
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 模板与资源
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**架构模板**`creating-springboot-projects/assets/`
值对象、富实体、CQRS 服务、转换器、REST 控制器、Flyway 迁移、Testcontainers、ProblemDetail 处理器。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**JPA 模板**`spring-data-jpa/assets/`
查询 Repository、DTO 投影、自定义 Repository、CQRS 查询服务、关联关系模式。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**审查参考**`java25-springboot4-reviewer/references/`
架构模式、决策矩阵、性能检查清单。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**参考指南**`spring-data-jpa/references/`
查询模式、投影、自定义 Repository、关联关系处理、性能调优。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 测试技能
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
想验证技能是否按预期工作?请查看 `tests/` 目录中的基线场景。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
**快速开始:**
2026-04-06 15:47:33 +08:00
```bash
2026-04-06 19:01:37 +08:00
# 5 分钟内运行一个场景
2026-04-06 15:47:33 +08:00
cd tests
cat QUICKSTART.md
```
2026-04-06 19:01:37 +08:00
**完整测试套件:**
- 8 个基线场景,测试每个技能的核心行为
- RED-GREEN-REFACTOR 方法论
- 合理化追踪
- 完整测试指南见 `tests/README.md`
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
基于 [terraform-skill 测试方法](https://github.com/antonbabenko/terraform-skill/blob/master/tests/baseline-scenarios.md)。
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 前置条件
2026-04-06 15:47:33 +08:00
- Claude Code CLI
- Java 25
2026-04-06 19:01:37 +08:00
- Maven 或 Gradle
- 熟悉 Spring Boot 4.0+
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
## 演进路径
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
从简单开始,按需演进:
2026-04-06 15:47:33 +08:00
```text
2026-04-06 19:01:37 +08:00
分层架构 → 按模块分包 → 模块化单体 → Tomato → DDD+六边形
2026-04-06 15:47:33 +08:00
```
2026-04-06 19:01:37 +08:00
## 致谢
2026-04-06 15:47:33 +08:00
2026-04-06 19:01:37 +08:00
- 架构模式:[Siva Prasad Reddy](https://github.com/sivaprasadreddy)
- Spring Boot 4 特性:[spring-boot-4-features](https://github.com/sivaprasadreddy/spring-boot-4-features)
- 模块化单体参考:[spring-modular-monolith](https://github.com/sivaprasadreddy/spring-modular-monolith)
- 市场灵感来源:[sivalabs-marketplace](https://github.com/sivaprasadreddy/sivalabs-marketplace)
- JPA/Hibernate 最佳实践:[Vlad Mihalcea](https://vladmihalcea.com/blog/)