SuperAPI AI 工具集

conventions

编程与开发

查看项目

更新于 10-22 11:39

技能介绍

该技能是一套 Spring Boot 项目编码规范与强制规则,用于约束项目中生成或审查的所有代码。当处理 Spring Boot、Java 或 Maven 项目时,该规范会自动加载。

用途:为 Spring Boot 项目提供统一的编码约定,覆盖从依赖使用、HTTP 客户端选择、测试方式到构建、版本管理与 CI 配置的多个方面,帮助保持代码风格与工程实践的一致性。

强制规则:禁止使用 Lombok,需要显式编写构造器、getter 和 setter,日志器使用 LoggerFactory.getLogger();采用构造器注入,不在字段上使用 @Autowired;阻塞式 HTTP 调用优先使用 RestClient,而不是 RestTemplate/WebClient;集成测试使用 RestTestClient 并配合 @AutoConfigureRestTestClient;Testcontainers 使用 @ServiceConnection,而不是 @DynamicPropertySource;使用 Jakarta Persistence,而不是 javax.persistence;DTO(请求/响应对象)使用 Java records;使用 Maven 管理依赖;Group ID 为 pl.piomin.services;Artifact 名等于父目录名;遵循语义化版本,每个新版本递增 PATCH;本地依赖使用 Docker Compose;生成 CI/CD 配置,若检测到现有 CI 设置(.github/workflows/、.circleci/、.gitlab-ci.yml)则与其匹配,否则选择合理默认值;测试始终同时编写正例和反例;每个新版本更新 README.md。

代码质量标准:使用最新 Spring Boot 4.x 与 Java 21+;在服务类级别使用 @Transactional(readOnly = true),在变更方法上使用 @Transactional;所有 POST/PUT 端点使用 @Valid @RequestBody;使用 @RestControllerAdvice 做全局异常处理;返回 ResponseEntity 并使用恰当状态码(201 Created、204 No Content);分组配置使用 @ConfigurationProperties 实现类型安全配置,而不是裸用 @Value;声明式 HTTP 客户端使用 @HttpExchange 接口;默认启用虚拟线程(spring.threads.virtual.enabled: true);启用 Problem Details(spring.mvc.problemdetails.enabled: true);配置优雅停机(server.shutdown: graceful)。

使用方式:作为项目约定被加载后,在编写或审查代码时按上述规则执行。具体安装或调用方式暂未提供。

适用场景:Spring Boot、Java、Maven 项目的代码生成与代码审查。

限制:资料未说明该规范的适用范围之外的行为、安装步骤及是否支持其他技术栈,相关事实暂未提供。