用途
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. 微服务开发
- 使用 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 进行测试
- 使用支持响应式的可观测性进行监控
最佳实践
- 使用构造器注入而非字段注入
- 通过 profile 与 ConfigMap 外置配置
- 使用 @ControllerAdvice 实现正确的异常处理
- 启用 Actuator 端点以提供健康与指标
- 使用 Testcontainers 进行集成测试
- 对 I/O 密集型工作负载利用虚拟线程(Spring Boot 3.2+)
反模式
- 字段注入 → 使用构造器注入以提升可测试性
- 在响应式链中阻塞 → 保持响应式管道非阻塞
- 捕获泛型异常 → 恰当地处理具体异常
- 硬编码配置 → 使用环境变量外置
- 缺少健康检查 → 始终暴露 Actuator 健康端点
限制
资料未提供该技能的收费、价格、平台支持范围、具体安装命令或效果数据,这些信息暂未提供。