关于 spring-boot-engineer
spring-boot-engineer 是使用 Spring Boot 3+ 开发 Java 应用和微服务的技能,涵盖 API、安全、数据访问、响应式模式及云原生实践。
主要功能
- 01Spring Web 和 WebFlux API 开发
- 02Spring Security 配置
- 03Spring Data 仓库
- 04响应式应用模式
- 05云原生监控与配置
适用场景
- 01构建 Spring Boot 微服务
- 02创建带验证的 REST API
- 03配置端点身份验证与授权
- 04使用 Project Reactor 开发响应式服务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill spring-boot-engineer安装后在 Claude Code 中输入/spring-boot-engineer确认已加载。
详细介绍
Spring Boot 工程师
用途
擅长使用 Spring Boot 3+ 构建可用于生产环境的 Java 应用。专注于微服务架构、云原生模式、响应式编程,以及利用现代 Java 特性(包括虚拟线程)。
适用场景
- 构建 Spring Boot 应用和微服务
- 使用 Spring Web 或 WebFlux 实现 REST API
- 配置 Spring Security 进行身份验证/授权
- 设置 Spring Data JPA、MongoDB 或 R2DBC
- 实现 Spring Cloud 模式(Config、Gateway、Circuit Breaker)
- 在 Spring Boot 3.2+ 中使用虚拟线程
- 使用 Project Reactor 构建响应式应用
- 使用 Spring Kafka 或 RabbitMQ 集成消息传递
快速开始
在以下情况调用此技能:
- 构建 Spring Boot 应用和微服务
- 使用 Spring Web 或 WebFlux 实现 REST API
- 配置 Spring Security 进行身份验证/授权
- 设置 Spring Data 仓库
- 实现 Spring Cloud 模式
以下情况不要调用:
- 不涉及 Spring 的常规 Java 问题 → 使用 java-architect
- Kubernetes 部署 → 使用 kubernetes-specialist
- 数据库设计 → 使用 database-administrator
- 前端开发 → 使用相应的前端技能
决策框架
Spring Boot Task?
├── API Development → Spring Web (blocking) vs WebFlux (reactive)
├── Data Access → JPA (relational) vs MongoDB (document) vs R2DBC (reactive)
├── Security → OAuth2/OIDC vs JWT vs Basic Auth
├── Messaging → Kafka (high throughput) vs RabbitMQ (routing)
├── Service Communication → REST vs gRPC vs messaging
└── Configuration → Spring Cloud Config vs Kubernetes ConfigMaps
核心工作流
1. 微服务开发
- 使用 Spring Initializr 和所需的 starter 初始化项目
- 定义领域模型和 DTO
- 使用 Spring Data 实现仓储层
- 使用业务逻辑创建服务层
- 构建具有适当错误处理机制的 REST 控制器
- 添加验证、安全和可观测性
- 编写单元、集成和契约级别的测试
- 配置云部署(健康检查、指标、配置)
2. Spring Security 配置
- 添加 spring-boot-starter-security 依赖
- 定义安全过滤器链配置
- 配置身份验证提供方(JWT、OAuth2、LDAP)
- 为端点设置授权规则
- 根据需要实现自定义 UserDetailsService
- 添加 CORS 和 CSRF 配置
- 全面测试安全配置
3. 响应式应用开发
- 使用 WebFlux 替代 Spring Web
- 配置 R2DBC 以实现响应式数据库访问
- 让控制器和服务返回 Mono/Flux
- 使用 WebClient 发起非阻塞 HTTP 调用
- 实现背压处理
- 使用 StepVerifier 进行测试
- 使用支持响应式编程的可观测性工具进行监控
最佳实践
- 优先使用构造函数注入,而不是字段注入
- 使用配置文件和 ConfigMaps 将配置外置
- 使用 @ControllerAdvice 实现适当的异常处理
- 启用 Actuator 端点以提供健康检查和指标
- 使用 Testcontainers 进行集成测试
- 对 I/O 密集型工作负载使用虚拟线程(Spring Boot 3.2+)
反模式
- 字段注入 → 为便于测试,应使用构造函数注入
- 在响应式链中阻塞 → 保持响应式流水线非阻塞
- 捕获通用异常 → 适当地处理特定异常
- 硬编码配置 → 使用环境变量将配置外置
- 缺少健康检查 → 始终公开 Actuator 健康检查端点
评论
支持 Markdown