SuperAPI AI 工具集

spring-boot-engineer

编程与开发

查看项目

更新于 10-15 08:48

技能介绍

用途

Spring Boot Engineer 是一个专注于 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 的通用 Java 问题 → 使用 java-architect
  • Kubernetes 部署 → 使用 kubernetes-specialist
  • 数据库设计 → 使用 database-administrator
  • 前端开发 → 使用相应的前端技能

决策框架

技能提供了一套技术选型判断路径:

  • API 开发 → Spring Web(阻塞式)对比 WebFlux(响应式)
  • 数据访问 → JPA(关系型)对比 MongoDB(文档型)对比 R2DBC(响应式)
  • 安全 → OAuth2/OIDC 对比 JWT 对比 Basic Auth
  • 消息 → Kafka(高吞吐)对比 RabbitMQ(路由)
  • 服务通信 → REST 对比 gRPC 对比消息传递
  • 配置 → Spring Cloud Config 对比 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. 使用支持响应式的可观测性进行监控

最佳实践

  • 使用构造器注入而非字段注入
  • 通过 profile 与 ConfigMap 外置配置
  • 使用 @ControllerAdvice 实现正确的异常处理
  • 启用 Actuator 端点以提供健康与指标
  • 使用 Testcontainers 进行集成测试
  • 对 I/O 密集型工作负载利用虚拟线程(Spring Boot 3.2+)

反模式

  • 字段注入 → 使用构造器注入以提升可测试性
  • 在响应式链中阻塞 → 保持响应式管道非阻塞
  • 捕获泛型异常 → 恰当地处理具体异常
  • 硬编码配置 → 使用环境变量外置
  • 缺少健康检查 → 始终暴露 Actuator 健康端点

限制

资料未提供该技能的收费、价格、平台支持范围、具体安装命令或效果数据,这些信息暂未提供。