评分明细
适用场景
java-spring-review 快速入门
3 步让 AI 帮你的 Spring Boot 项目找出 SQL 注入、异常吞掉、事务失效等真实风险。
这是什么?解决什么问题?
java-spring-review 是社区在 JackyST0/awesome-agent-skills 索引中收录的 Java 专项审查 Skill,聚焦 Spring Boot 项目最常出问题的几个维度:
- SQL 注入:MyBatis
${}字符串拼接、JPA 原生 query 拼接、RepositorynativeQuery = 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 想少踩坑的小白。
准备工作
- JDK ≥ 17:Spring Boot 3.x 推荐,Skill 支持 8/11/17/21。
- Maven 或 Gradle:二选一,Skill 模板覆盖两种构建工具。
- AI 编程 Agent:Claude Code / Cursor / Cline。
- 一个 Spring Boot 项目:哪怕只启动类 + 一个 Controller 都能跑。
- 可选: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; 应改为构造器注入。
常见踩坑
-
@Transactional加在 private 方法:Spring AOP 代理对 private 方法不生效,Skill 强制要求 public 方法。 -
同类方法自调用:即使 public,因为绕过了代理,事务不会触发。Skill 提示 Agent 检测 this.xxx() 模式。
-
try { ... } catch (Exception e) {}吞异常:Skill 提示必须记录日志或重新抛出。 -
MyBatis
${}占位符:用${}拼接参数是经典 SQL 注入,Skill 检测到会标 Critical。 -
Stream 误用
parallelStream:在 Web 请求上下文用 parallelStream 可能阻塞 Tomcat 线程,Skill 提示审查场景。 -
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 + 单元测试保证质量。
参考链接
-
awesome-agent-skills 索引:https://github.com/JackyST0/awesome-agent-skills
-
java-spring-review 子目录:https://github.com/JackyST0/awesome-agent-skills/tree/main/skills/java-spring-review
-
Spring Boot 官方文档:https://spring.io/projects/spring-boot
-
阿里巴巴 Java 开发手册:https://github.com/alibaba/p3c
-
MyBatis 官方文档:https://mybatis.org/mybatis-3/zh/index.html
-
ArchUnit 用户指南:https://www.archunit.org/userguide/html/000_Index.html
-
SpotBugs:https://spotbugs.github.io/
-
OWASP Top 10:https://owasp.org/Top10/
本文基于官方文档和公开资料整理,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 检查 | 自动配置、属性绑定、Actuator | Spring 项目 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.factories→META-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 审查
- 废弃的
antMatchers→requestMatchers - 显式声明 SecurityFilterChain Bean
- OAuth2 资源服务器配置正确性
- CORS 和 CSRF 配置合理性
五、常见使用误区
| # | 误区 | 说明 | 正确做法 |
|---|---|---|---|
| 1 | ”spring.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 生态中的不足。
参考资料
- Spring Boot 3.x 官方文档 — 官方文档
- Spring Security 6.x Reference — 官方文档
- Spring Data JPA 文档 — 官方文档
- Spring Cloud Documentation — 官方文档
- Spring Boot 3.0 Migration Guide — 官方迁移指南
📊 评分与标签
评分说明
总分 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 配额、授权和价格可能变化,应以上游最新说明为准。
📋 来源与核验记录
- ✅ 官方仓库页面已核验:https://github.com/JackyST0/awesome-agent-skills
- ✅ 官方文档或功能页已核验:https://github.com/JackyST0/awesome-agent-skills/tree/main/skills/java-spring-review
- ⚠️ 未验证(访问限制):GitHub REST API 于 2026-07-23 返回限流,未采用无法复核的精确 Stars/Forks 数值
- ⚠️ 间接来源(二手数据):未用于核心功能与维度评分
- ❌ 已删除死链:无