mcpField
S
spring-boot-engineer

spring-boot-engineer

github.com/404kidwiz开发103 次安装
代码仓库

关于 spring-boot-engineer

spring-boot-engineer 是使用 Spring Boot 3+ 开发 Java 应用和微服务的技能,涵盖 API、安全、数据访问、响应式模式及云原生实践。

主要功能

  1. 01Spring Web 和 WebFlux API 开发
  2. 02Spring Security 配置
  3. 03Spring Data 仓库
  4. 04响应式应用模式
  5. 05云原生监控与配置

适用场景

  1. 01构建 Spring Boot 微服务
  2. 02创建带验证的 REST API
  3. 03配置端点身份验证与授权
  4. 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. 微服务开发
  1. 使用 Spring Initializr 和所需的 starter 初始化项目
  2. 定义领域模型和 DTO
  3. 使用 Spring Data 实现仓储层
  4. 使用业务逻辑创建服务层
  5. 构建具有适当错误处理机制的 REST 控制器
  6. 添加验证、安全和可观测性
  7. 编写单元、集成和契约级别的测试
  8. 配置云部署(健康检查、指标、配置)
2. Spring Security 配置
  1. 添加 spring-boot-starter-security 依赖
  2. 定义安全过滤器链配置
  3. 配置身份验证提供方(JWT、OAuth2、LDAP)
  4. 为端点设置授权规则
  5. 根据需要实现自定义 UserDetailsService
  6. 添加 CORS 和 CSRF 配置
  7. 全面测试安全配置
3. 响应式应用开发
  1. 使用 WebFlux 替代 Spring Web
  2. 配置 R2DBC 以实现响应式数据库访问
  3. 让控制器和服务返回 Mono/Flux
  4. 使用 WebClient 发起非阻塞 HTTP 调用
  5. 实现背压处理
  6. 使用 StepVerifier 进行测试
  7. 使用支持响应式编程的可观测性工具进行监控

最佳实践

  • 优先使用构造函数注入,而不是字段注入
  • 使用配置文件和 ConfigMaps 将配置外置
  • 使用 @ControllerAdvice 实现适当的异常处理
  • 启用 Actuator 端点以提供健康检查和指标
  • 使用 Testcontainers 进行集成测试
  • 对 I/O 密集型工作负载使用虚拟线程(Spring Boot 3.2+)

反模式

  • 字段注入 → 为便于测试,应使用构造函数注入
  • 在响应式链中阻塞 → 保持响应式流水线非阻塞
  • 捕获通用异常 → 适当地处理特定异常
  • 硬编码配置 → 使用环境变量将配置外置
  • 缺少健康检查 → 始终公开 Actuator 健康检查端点

评论

支持 Markdown