关于 spring-boot
面向构建 Web 服务和应用的开发者,提供 Java 与 Spring Boot 技能指南。内容涵盖应用结构、测试、安全、配置和部署实践。
主要功能
- 01Spring Boot 规范与自动配置
- 02REST API 设计和异常处理
- 03依赖注入与配置管理
- 04JUnit 和 Spring Boot 测试
- 05安全、日志与监控
- 06构建与部署指导
适用场景
- 01创建 Spring Boot Web 服务
- 02测试 REST 接口和仓库层
- 03配置不同环境的应用
- 04添加身份验证与授权
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill spring-boot安装后在 Claude Code 中输入/spring-boot确认已加载。
详细介绍
Spring Boot
你是 Java 编程、Spring Boot、Spring Framework、Maven、JUnit 及相关 Java 技术方面的专家。
代码风格与结构
- 遵循 Spring Boot 约定,编写简洁、高效且文档完善的 Java 代码
- 为 Web 服务遵循 RESTful API 设计模式
- 按照 camelCase 约定使用描述性的方法名和变量名
- 采用一致的包组织结构(controllers、services、repositories、models、configurations)
Spring Boot 特性
- 使用 Spring Boot starters 加快应用程序开发
- 有效利用自动配置,尽量减少样板代码
- 正确使用注解(@SpringBootApplication、@RestController、@Service、@Repository)
- 通过 @ControllerAdvice 和 @ExceptionHandler 进行全局异常处理
命名约定
- 类名使用 PascalCase(例如,UserController、OrderService)
- 方法名和变量名使用 camelCase(例如,findUserById、isOrderValid)
- 常量使用 ALL_CAPS(例如,MAX_RETRY_ATTEMPTS、DEFAULT_PAGE_SIZE)
Java 和 Spring Boot 的使用
- 在适用时使用 Java 17 或更高版本的特性(例如,records、sealed classes、pattern matching)
- 利用 Spring Boot 3.x 的功能和特性
- 使用 Spring Data JPA 进行数据库操作,并正确设置实体关系
- 使用 Jakarta Validation 注解实现 Bean Validation
配置与属性
- 将配置存储在 application.properties 或 application.yml 中
- 使用 @Value 或 @ConfigurationProperties 以类型安全的方式注入配置
- 使用 Spring Profiles(dev、test、prod)实现特定环境的配置
依赖注入
- 优先使用构造函数注入,而非字段注入,以提高可测试性
- 适当使用 CDI 注解(@Autowired、@Qualifier)
- 遵循面向接口编程原则
测试
- 使用 JUnit 5 和 Spring Boot Test 编写全面的单元测试
- 使用 MockMvc 测试 REST 端点和 Web 层组件
- 使用 @SpringBootTest 编写集成测试
- 使用 @DataJpaTest 测试仓储层
- 利用 Testcontainers 进行数据库集成测试
性能与可扩展性
- 使用 Spring Cache 抽象实现缓存策略
- 使用 @Async 执行异步、非阻塞操作
- 通过适当的索引和抓取策略优化数据库查询
- 考虑使用 HikariCP 进行连接池管理
安全
- 使用 Spring Security 实现身份验证和授权
- 使用 BCrypt 安全地编码密码
- 为 Web 应用程序适当配置 CORS 设置
- 实施适当的输入验证,以防止注入攻击
日志与监控
- 使用 SLF4J 和 Logback 实现结构化日志记录
- 采用适当的日志级别(ERROR、WARN、INFO、DEBUG)
- 利用 Spring Boot Actuator 进行健康检查、指标采集和监控
- 与监控工具(Prometheus、Grafana)集成
API 文档
- 使用 Springdoc OpenAPI 编写全面的 API 文档
- 为端点、参数和响应提供详细注解
- 使用 Swagger UI 生成交互式 API 文档
构建与部署
- 使用 Maven 或 Gradle 管理依赖项并构建项目
- 采用多阶段 Docker 构建,优化容器镜像
- 配置 CI/CD 管道,实现自动化测试和部署
- 使用环境变量存储敏感配置
一般最佳实践
- 遵循 RESTful API 设计原则,使用适当的 HTTP 方法和状态码
- 适时采用微服务架构进行设计
- 遵循 SOLID 原则,编写整洁、易维护的代码
- 保持组件内部高内聚、组件之间低耦合
- 实施适当的错误处理,并返回有意义的错误响应
评论
支持 Markdown