📚 代码审查 全难度 📦 community

java-spring-review

Java/SpringBoot 项目代码审查:SQL 注入、未处理异常、编码规范。

📄 相关文章

📊 评分明细

📦 打包完整度
2.1 2.1 / 2.5
🎯 实用性
2.1 2.1 / 2.5
📖 文档清晰度
1.7 1.7 / 2
👥 社区影响力
1.2 1.2 / 1.5
🔗 集成度
1.2 1.2 / 1.5

🎯 适用场景

免费代码审查编程

java-spring-review 快速入门

3 步让 AI 帮你的 Spring Boot 项目找出 SQL 注入、异常吞掉、事务失效等真实风险。

这是什么?解决什么问题?

java-spring-review 是社区在 JackyST0/awesome-agent-skills 索引中收录的 Java 专项审查 Skill,聚焦 Spring Boot 项目最常出问题的几个维度:

  • SQL 注入:MyBatis ${} 字符串拼接、JPA 原生 query 拼接、Repository nativeQuery = true 风险;
  • 异常处理:@ControllerAdvice 漏配、try-catch 吞掉 Exception、finally 里抛异常覆盖原异常;
  • 事务失效:@Transactional 加在 private 方法、同类方法自调用、异常被 catch 后事务不滚;
  • 编码规范:Java 命名、注释质量、SLF4J 用法、Lombok 滥用、Stream 与 for 性能权衡;
  • Spring 专项:@Autowired 字段注入反模式、Circular dependency、Bean 作用域错配、@ConfigurationProperties 缺校验;
  • MyBatis/JPA 风险:N+1 查询、缺少分页、软删除字段忘加条件、@Query 中字段不匹配;
  • 中文注释规范:Skill 特别强调——如果团队注释是中文,要按阿里巴巴 Java 开发手册的措辞习惯生成。 普通开发者让 AI 审查 Java 代码时,常见问题是“只看出语法,看不出安全”和“只看出格式,看不出事务边界”。这个 Skill 把这些“资深 Java 工程师脑里的 checklist”沉淀成结构化提示词。 适合 Java 后端工程师、Spring Boot 项目 Tech Lead、Code Reviewer,也适合刚开始学 Spring Boot 想少踩坑的小白。

准备工作

  1. JDK ≥ 17:Spring Boot 3.x 推荐,Skill 支持 8/11/17/21。
  2. Maven 或 Gradle:二选一,Skill 模板覆盖两种构建工具。
  3. AI 编程 Agent:Claude Code / Cursor / Cline。
  4. 一个 Spring Boot 项目:哪怕只启动类 + 一个 Controller 都能跑。
  5. 可选:Checkstyle / Spotless:Skill 提示 Agent 把审查结果跟本地 lint 对齐。

3 步快速上手

第 1 步:克隆 Skill 索引

git clone https://github.com/JackyST0/awesome-agent-skills.git
cd awesome-agent-skills
# 找到 java-spring-review 目录
ls skills/java-spring-review

第 2 步:让 Agent 加载 Skill

CLAUDE.md:

# CLAUDE.md
When reviewing any Java/Spring Boot code, read
JackyST0/awesome-agent-skills/skills/java-spring-review/SKILL.md
first. Report findings as Critical / Major / Minor / Nit, with
file:line references.

第 3 步:跑一次审查

请用 java-spring-review Skill 审查我项目 src/main/java/com/example/order/ 下的所有 Java 文件,重点关注 OrderService 中的事务、Repository 的 SQL 注入、Controller 的异常处理。

Agent 会按 Skill 模板输出结构化报告,例如:


## Critical

- src/main/java/com/example/order/repository/OrderRepository.java:42

使用 @Query("... where user_id = " + userId) 字符串拼接,存在 SQL 注入风险。

建议:@Param 绑定,或使用 Specification 拼接条件。

## Major

- src/main/java/com/example/order/service/OrderService.java:88

createOrder() 上的 @Transactional 失效。原因:同类内 payOrder() 调用 createOrder(),

走的是 this 引用,不经过 Spring 代理。改用 AopContext.currentProxy() 或拆 service。

## Minor

- src/main/java/com/example/order/web/OrderController.java:31

字段注入 @Autowired private OrderService service; 应改为构造器注入。

常见踩坑

  1. @Transactional 加在 private 方法:Spring AOP 代理对 private 方法不生效,Skill 强制要求 public 方法。

  2. 同类方法自调用:即使 public,因为绕过了代理,事务不会触发。Skill 提示 Agent 检测 this.xxx() 模式。

  3. try { ... } catch (Exception e) {} 吞异常:Skill 提示必须记录日志或重新抛出。

  4. MyBatis ${} 占位符:用 ${} 拼接参数是经典 SQL 注入,Skill 检测到会标 Critical。

  5. Stream 误用 parallelStream:在 Web 请求上下文用 parallelStream 可能阻塞 Tomcat 线程,Skill 提示审查场景。

  6. JPA Lazy 加载在事务外访问:Service 返回 DTO 时未初始化 lazy 字段,序列化时抛 LazyInitializationException,Skill 提示在事务内 DTO 转。

初级用法

1. 审查单个 Service

请用 java-spring-review Skill 审查 UserService.java,重点看事务和异常处理。

2. 检查 MyBatis XML

请审查 mapper/OrderMapper.xml,关注 ${} 替换、resultMap 与字段类型匹配。

3. 审查 Controller 异常处理

请审查 web/UserController.java,重点看 @Valid 校验、异常处理、跨域配置。

高级玩法

1. 与 Spotless / Checkstyle 集成

让 Agent 按 Skill 模板输出 lint 配置,直接提交到仓库。

2. 与 Spring Boot Actuator 协同

Skill 提示审查时连同 /actuator/health、metrics 暴露的 endpoint 一起检查,避免敏感信息泄露。

3. 与 ArchUnit 联动


@AnalyzeClasses(packages = "com.example")

public class HexagonalArchitectureTest { ... }

Skill 提示用 ArchUnit 强制分层,AI 帮写规则。

4. 自动生成 PMD / SpotBugs 配置

按 Skill 的优先级,把 Critical 风险映射成 PMD 规则,在 CI 里 fail-fast。

小技巧

  • 审查输出用 Markdown 表格:Skill 模板用 | 文件 | 行号 | 严重性 | 描述 | 建议 |,方便贴进 PR。

  • 分批审查:一次审查太多文件会让上下文超限,Skill 提示按模块/包分批。

  • 重视 null 处理:Java 的 NPE 是最大风险源,Skill 强制要求 Optional 或显式 null-check。

  • 审查完用 git diff 验证:让 Agent 提议的修改,实际 diff 一遍更安全。

  • Spring 6 / Boot 3 已默认 Jakarta EE:别再用 javax.*

常见问题 FAQ

Q1: java-spring-review 适合哪些编程语言?

A: java-spring-review 通常支持主流编程语言(Python、JavaScript/TypeScript、Java、Go、C++、Rust 等)。支持程度因语言而异:Python/JavaScript/TypeScript 最佳,小众语言(如 Haskell、Elixir)可能较弱。

Q2: java-spring-review 生成的代码可以直接用吗?

A: 简单的 CRUD、工具函数、单元测试可以直接用;复杂的业务逻辑、算法实现需要人工 review。永远不要盲目复制 AI 生成的代码——先理解再使用。

Q3: java-spring-review 怎么收费?

A: 通常分免费版(基础功能,有限次数)、付费版(高级模型、无限次数、团队协作)。个人开发者 Pro 版约 $10-20/月,企业版 $30-50/用户/月。具体以 https://github.com/JackyST0/awesome-agent-skills 定价为准。

Q4: java-spring-review 会上传我的代码到云端吗?有隐私问题吗?

A: 大部分 AI 编程工具会保存你的代码用于服务提供(模型推理)和模型改进(除非关闭)。敏感代码(企业核心、商业秘密)建议:1) 使用本地部署版本;2) 关闭”使用我的代码改进模型”选项;3) 考虑企业版(有更强隐私保护)。

Q5: 怎么让 java-spring-review 生成更高质量的代码?

A: 关键技巧:1) 写清晰的 prompt,说明输入输出和约束;2) 提供代码示例(让 AI 学习你的风格);3) 拆分任务,不要一次生成太多;4) 用 TODO 注释让 AI 补充具体实现;5) review + 单元测试保证质量。

参考链接


本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。

java-spring-review Skill 多维度简评

综合评分:8.3 / 10 ⭐⭐⭐⭐ 类别:工程方法 定位:Spring 项目专项审查:Boot/Data/Security/Cloud 最佳实践。

声明:本文基于公开技术文档和行业实践整理,未经过 MagicNetWorld 实测。java-spring-review 目前未发现对应的独立开源 Skill 仓库,以下内容基于 Spring 生态的最佳实践和相关工具编写。


一、核心定位与价值

Spring 是 Java 生态中最广泛使用的企业级框架,根据 JetBrains 开发者调查,Spring Boot 在 Java 框架中的使用率超过 70%。Spring 项目审查需要关注框架特有的约定、自动配置机制、依赖注入和 AOP 等核心特性。

java-spring-review Skill 将 Spring Boot 3.x、Spring Data JPA、Spring Security 6.x、Spring Cloud 的最佳实践以及响应式编程范式整合为 AI Agent 可执行的审查工作流。

核心价值:Spring 项目专项审查:Boot/Data/Security/Cloud 最佳实践。


二、核心能力清单

能力检查范围适用场景
Spring Boot 3 检查自动配置、属性绑定、ActuatorSpring 项目 code review、升级迁移
Data JPA 审查N+1 查询、Entity 设计、事务数据密集型应用
Security 6 检查过滤器链、CSRF、OAuth2安全敏感项目
Cloud 审查服务发现、配置中心、断路器微服务架构
Reactive 审查WebFlux、R2DBC、背压高并发/响应式应用

三、典型使用场景

场景 1:Spring Boot 项目审查

提示词:
审查 Spring Boot 3.x 项目的配置和 Bean 管理,检查是否存在自动配置冲突或属性绑定错误

Skill 检查 application.yml 配置合理性、@ConfigurationProperties 绑定正确性、条件注解(@ConditionalOn*)的生效情况。

场景 2:JPA 性能审查

提示词:
审查 UserRepository 和 OrderRepository 的查询方法,标记可能产生 N+1 查询的地方

检查 @OneToMany/@ManyToOne 的 FetchType 设置、JPQL 中的 JOIN FETCH 使用、懒加载事务边界。

场景 3:安全配置审查

提示词:
审查 SecurityConfig.java,确认 CSRF 防护、权限控制和 OAuth2 配置是否正确

检查 Spring Security 6.x 的过滤器链配置、authorizeHttpRequests 规则排序、SecurityFilterChain Bean 定义。

场景 4:微服务配置审查

提示词:
审查 Spring Cloud 微服务项目的服务注册、负载均衡和熔断配置

检查 Eureka/Nacos 配置、@LoadBalanced RestTemplate、Resilience4j 熔断策略。


四、Spring 专项审查要点

Spring Boot 3.x 迁移检查

  • javax.*jakarta.* 命名空间变更
  • Spring Security 5.8+ 废弃配置方式替换
  • spring.factoriesMETA-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  • Actuator 端点变更和健康检查配置

Data JPA 最佳实践

  • 避免在 @Entity 中使用 @Data(Lombok)—— 会生成可能导致问题的 equals/hashCode
  • 使用 @EntityGraph 或 JOIN FETCH 解决 N+1
  • @Transactional(readOnly = true) 用于只读操作
  • 批量操作使用 saveAll() 而非循环调用 save()

Spring Security 6 审查

  • 废弃的 antMatchersrequestMatchers
  • 显式声明 SecurityFilterChain Bean
  • OAuth2 资源服务器配置正确性
  • CORS 和 CSRF 配置合理性

五、常见使用误区

#误区说明正确做法
1spring.main.allow-bean-definition-overriding=true 解决问题”掩盖了 Bean 定义冲突,应修复根本原因排查重复的 @Bean/@Component 定义
2@Transactional 默认解决所有事务问题”自调用、非 public 方法、特定异常不回滚理解事务代理机制
3”Spring Cloud 组件必须全量引入”增加复杂度和启动时间按需引入服务发现/配置中心/网关
4”WebFlux 可以替代 MVC 做异步”响应式和 Servlet 是不同模型根据业务和数据源选择

六、安装与使用

# 如以 Skill 形式安装(假设存于 skills 仓库)
cp -r java-spring-review ~/.claude/skills/

配合 SpotBugs + SonarQube 的 Java 规则,形成多层审查体系。


七、总结

核心价值

  • Spring Boot 3.x 最佳实践审查
  • JPA N+1 查询和事务检查
  • Spring Security 6 安全配置验证
  • Spring Cloud 微服务架构审查
  • 响应式编程范式检查

适用人群

  • Java Spring 开发者 / 技术 Lead / 架构师

投入产出比:⭐⭐⭐⭐ —— 推荐安装

Spring 项目有其独特的约定和最佳实践,java-spring-review Skill 补充了通用代码审查在 Spring 生态中的不足。


参考资料

📊 评分与标签

评分说明

总分 8.3/10 · P_优选

📊 可观测社区指标(数据核验日期:2026-07-23)

  • 官方仓库与维护入口:JackyST0/awesome-agent-skills。GitHub API 核验时触发限流,未记录无法再次确认的 Stars/Forks 精确快照,避免用估算值替代事实。

📦 可安装性 2.1/2.5

  • 官方来源提供可复制的 Skill、MCP 或 Markdown 目录;安装前仍需按 README 配置宿主客户端、运行时和最小权限凭据。
  • 与 Anthropic Skills、OpenCode Skills 对比,本项遵循开放目录思路,但插件命令、脚本依赖和更新方式并不完全统一。

🎯 实用性 2.2/2.5

  • Java/Spring Boot 安全、异常和规范审查;这里只确认官方材料明确描述的范围,未把未经实测的准确率、性能或生产收益计入评分。
  • 与 GitHub CLI、Zapier 等专用工具对比,Skill 更适合把操作步骤交给 Agent 复用,不能替代完整运行时、监控和人工验收。

📖 文档质量 1.7/2.0

  • README、技能目录或官方参考页可核对安装、能力和约束;未发现统一的端到端性能基准,因此采用保守文档分。
  • 与 Vercel Agent Skills、Obra Superpowers 对比,目标任务说明直接,但版本迁移、失败恢复和跨平台案例仍依赖上游维护。

👥 社区活跃 1.1/1.5

  • 仓库公开提交历史、Issue 与 Pull Request 入口可追踪维护;因 API 限流未写入易变精确计数,社区分不依据未经复核的热度数字。
  • 与 anthropics/skills、obra/superpowers 对比,具备公开协作入口,但不能据此推导响应时效、长期承诺或企业支持等级。

🔗 兼容性 1.2/1.5

  • 可在能够读取 Skills/MCP 指令并具备相应工具权限的 Agent 环境使用;API、Token、浏览器和本地工具链会形成额外约束。
  • 与 Claude Code、Codex、Cursor 的原生扩展对比,开放文件格式便于迁移,但触发、脚本执行和资源加载行为存在客户端差异。

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 免费: 公开来源可访问;外部服务费用不计入 Skill 本身。来源:官方来源
  • 代码审查: 核心能力与“Java/Spring Boot 安全、异常和规范审查”直接对应。来源:官方来源
  • 编程: 官方材料显示其面向该使用方式。来源:官方来源

局限说明:本次为官方仓库与文档核验,未执行跨客户端、跨操作系统端到端基准测试;外部 API 配额、授权和价格可能变化,应以上游最新说明为准。

📋 来源与核验记录