关于 java-springboot
面向 Spring Boot 开发的技能,提供项目配置、架构、安全、测试和监控方面的实践指导,并按主题整理参考资料。适用于开发或维护 Spring Boot 应用的开发者。
主要功能
- 01构造器注入与 DTO 指导
- 02按功能组织包结构
- 03验证与事务实践
- 04配置、安全及日志建议
- 05测试切片参考
- 06Actuator 与健康检查
适用场景
- 01创建 Spring Boot 项目
- 02设计 REST 控制器和服务层
- 03配置安全与外部化设置
- 04为应用选择测试方式
MCP 相关
使用 Context7 查询 Spring Boot 最新文档:先解析库 ID,再按具体问题查询文档。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ vekzz-dev/ opencode-skills --skill java-springboot安装后在 Claude Code 中输入/java-springboot确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/advanced.mdconfiguration.mddata-layer.mddependency-injection.mdlogging.mdmonitoring.mdproject-setup.mdsecurity.mdservice-layer.mdtesting.mdweb-layer.md详细介绍
适用场景
- 开发 Spring Boot 应用
- 需要 Spring Boot 最佳实践
- 配置 Spring Boot 项目
- 使用 Spring 框架组件
核心原则
- 构造器注入 — 始终使用构造器注入,以便于测试。切勿在字段上使用
@Autowired。 - DTO — 切勿向 API 层暴露 JPA 实体。使用 record 或投影接口。
- 按功能划分包 — 按领域分组(order/、user/),而非按层分组(controller/、service/)。
- 验证 — 在请求 DTO 上使用 Bean Validation(
@Valid、@NotBlank)。 - 事务 — 使用
@Transactional,将事务控制在服务层并保持简短。 - 日志记录 — 使用参数化日志记录(
{}),切勿拼接字符串。 - 安全 — 切勿硬编码密钥。使用环境变量和
@ConfigurationProperties。 - 测试 — 使用能让你确信代码正确的最精简测试切片。
- 配置 — 通过
application.yml和@ConfigurationProperties将所有配置外置。 - 监控 — 为每个服务添加 Actuator 和健康检查。
参考索引
| 主题 | 参考资料 |
|---|---|
| 构建工具、starter、包结构 | references/project-setup.md |
| 构造器注入、Lombok、构造型注解 | references/dependency-injection.md |
| application.yml、@ConfigurationProperties、配置文件、密钥 | references/configuration.md |
| REST 控制器、DTO、验证、异常处理器 | references/web-layer.md |
| 业务逻辑、@Transactional | references/service-layer.md |
| Repository、查询、投影 | references/data-layer.md |
| SLF4J 日志模式 | references/logging.md |
| Spring Security、JWT、密码编码 | references/security.md |
| 异步、缓存、API 版本控制、分页 | references/advanced.md |
| Actuator、健康指标 | references/monitoring.md |
| 测试切片速查 | references/testing.md |
命令
# Run Spring Boot application
mvn spring-boot:run
# Run with specific profile
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# Build project
mvn clean package
# Run tests
mvn test
# Run specific test
mvn test -Dtest=OrderServiceTest
测试
如需全面的测试指南(测试切片、MockMvcTester、Testcontainers、AssertJ),请参阅 java-springboot-testing 技能。
速查
| 测试类型 | 注解 | 适用场景 |
|---|---|---|
| 单元测试 | @ExtendWith(MockitoExtension.class) | 服务逻辑 |
| Web 测试 | @WebMvcTest | 控制器 |
| 数据测试 | @DataJpaTest | Repository |
| 集成测试 | @SpringBootTest | 完整流程 |
| 切片测试 | @RestClientTest | REST 客户端 |
Context7 集成
需要获取最新的 Spring Boot 信息时:
-
解析 libraryId — 使用
context7_resolve-library-id,并提供:libraryName:"spring boot"或"spring framework"query:你要执行的操作(例如,"configuration properties"、"custom health check")
-
查询文档 — 使用
context7_query-docs,并提供:libraryId:上一步获取的 ID(例如,"/spring/spring-boot")query:你的具体问题
在回答 Spring Boot API、配置或最佳实践相关问题之前,请查阅 Context7,以获取最新信息。
资源
评论
支持 Markdown