关于 spring-boot-skill
spring-boot-skill 为 Spring Boot 应用开发提供按领域组织的实践参考,面向开发者。涵盖配置、分层设计、模块化和多层测试,并按任务指向详细文档。
主要功能
- 01Maven 配置与代码组织
- 02JPA、服务层与 REST API
- 03Spring Modulith 与 Thymeleaf
- 04单元、切片及端到端测试
- 05Testcontainers 与 ArchUnit 测试
适用场景
- 01配置 Maven 插件并改善代码质量
- 02规划模块化 Spring Boot 包结构
- 03实现持久层、业务逻辑或 REST API
- 04为数据库和 Web 层设计测试
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sivaprasadreddy/ sivalabs-agent-skills --skill spring-boot-skill安装后在 Claude Code 中输入/spring-boot-skill确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/archunit.mdcode-organization.mdspring-boot-docker-compose.mdspring-boot-maven-config.mdspring-boot-rest-api-testing.mdspring-boot-webapp-testing-with-mockmvctester.mdspring-data-jpa.mdspring-modulith.mdspring-service-layer.mdspring-webmvc-rest-api.mdtaskfile.mdtestcontainers-wiring.mdtesting-integration.mdtesting-slices-persistence.mdtesting-slices-web.mdtesting-strategy.mdtesting-unit-mocking.mdthymeleaf.md详细介绍
Spring Boot 技能
开发 Spring Boot 应用时,请遵循以下实践。仅在处理相关领域时阅读链接的参考资料。
Maven pom.xml 配置
阅读 references/spring-boot-maven-config.md,了解 Maven pom.xml 配置,以及用于提升代码质量和改进测试的支持插件与配置。
包结构
阅读 references/code-organization.md,了解领域驱动、基于模块的包布局和命名约定。
Spring Data JPA
使用 references/spring-data-jpa.md 实现仓库层和实体层。
服务层
使用 references/spring-service-layer.md 在服务层实现业务逻辑。
Spring MVC REST API
使用 Spring MVC 实现 REST API,参阅 references/spring-webmvc-rest-api.md。
Spring Modulith
使用 Spring Modulith 构建模块化单体,参阅 references/spring-modulith.md。
Thymeleaf
如果使用 Thymeleaf 作为视图模板,请参阅 references/thymeleaf.md
测试
在互补的层级编写测试——单元测试、Spring 切片测试,以及至少一个端到端/冒烟测试;这些层级并非二选一。大多数涉及框架的测试应放在快速的切片层级(@SpringBootTest(classes = …) 或切片注解);完整上下文的 @SpringBootTest 应用于冒烟测试和请求级端到端测试。若想了解各层级为何互补,以及如何通过上下文缓存、整个测试套件共用一个容器来加快大型测试套件,请阅读 references/testing-strategy.md。
| 测试内容 | 层级 | 参考资料 |
|---|---|---|
| 业务/领域逻辑,不涉及框架 | 单元测试(无 Spring 上下文) | testing-unit-mocking.md |
| JPA / JDBC / JdbcClient / Spring Data JDBC / jOOQ 查询 | 持久化切片 + Testcontainers | testing-slices-persistence.md |
| 控制器、JSON 序列化或 REST 客户端 | Web 切片(@WebMvcTest/@JsonTest/@RestClientTest) | testing-slices-web.md |
| 少量组件协同、外部 HTTP(WireMock),或启动/请求级冒烟测试 | 切片 @SpringBootTest(classes = …) 或冒烟测试 | testing-integration.md |
通过真实端口调用完整 REST API、完整的 BaseIT 测试套件(RestTestClient) | 端到端测试 | spring-boot-rest-api-testing.md |
渲染视图的控制器(MockMvcTester) | Web 切片 | spring-boot-webapp-testing-with-mockmvctester.md |
配置容器(@ServiceConnection/动态属性) | — | testcontainers-wiring.md |
所有持久化和集成测试都使用 Testcontainers 和真实数据库(绝不使用内存中的 H2);关于 @ServiceConnection 与动态属性配置,请参阅 references/testcontainers-wiring.md。
编写 ArchUnit 测试
使用 ArchUnit 编写架构测试,请参阅 references/archunit.md
Spring Boot Docker Compose 支持
如需在本地开发中使用 Docker Compose 支持,请参阅 references/spring-boot-docker-compose.md。
Taskfile
使用 references/taskfile.md 更轻松地执行命令。