这份手册,是团队全员统一AI编码标准、开发流程、工具规范和落地模板的正式生产制度文件。简单来说,这就是大家在用AI编写Java代码时必须共同遵守的“团队公约”。

它全面覆盖Windows、Mac、Linux三大操作系统,同时兼容Maven和Gradle两种构建工具,即使是零基础的开发者也能快速上手。手册不仅包含带正反案例的企业级Java编码规范,还提供了全套可直接复用的项目模板、8大生产级高阶场景Prompt模板、完整的避坑清单,以及架构师级别的标准工作流。最后还附带了一个Anthropic Java API的实战示例。
技术栈方面,统一以JDK 17 + Spring Boot 3.x + MySQL 8 + MyBatis-Plus + Lombok + JUnit5为基础。核心原则是:所有使用Claude Code进行开发的Java项目,必须严格遵循本手册规范,确保代码风格、质量和工程结构的统一,从根本上杜绝AI幻觉、代码不规范和架构混乱等问题。
第一章 全平台环境零基础部署规范
1.1 Mac / Linux 安装与启动
官方提供了非常简洁的一键安装脚本,直接复制执行即可。
# 官方一键安装
curl -fsSL https://claude.com/install | bash
# 账号登录(支持订阅账号 / API Key 两种方式)
claude login
# 项目启动标准流程
cd 项目根目录
claude
1.2 Windows PowerShell 安装与启动
Windows下的操作同样简单,PowerShell用户也是几行命令搞定。
# 官方一键安装
irm https://claude.com/install | iex
# 登录
claude login
# 进入项目启动
cd 项目根目录
claude
1.3 项目前置依赖强制要求
启动项目前,有几个硬性条件必须满足,否则后续会碰到各种奇怪的问题。
- JDK 17 及以上:Claude Code的Java语言服务(LSP)强制依赖高版本JDK,低版本会导致语法解析异常。
- 构建工具:Maven 3.8+ 或 Gradle 7+。
- 可选增强:建议配置jdtls Java语言服务,可以提供更细致的代码校验、语法检查和规范提示。
第二章 项目AI强制核心配置(根治AI幻觉)
这是重中之重。所有项目必须包含以下三份配置文件,缺一不可。它们是AI理解项目并生成正确代码的“唯一依据”。
2.1 项目规范核心文件:CLAUDE.md(根目录必存)
这份文件定义了项目的一切规则。AI在生成代码前,会首先读取它。所以,内容必须详尽且准确。
# 团队统一AI开发规范|Java SpringBoot 企业级标准
## 基础技术栈
- 项目框架:Spring Boot 3.x
- JDK 版本:17
- 构建工具:Maven / Gradle
- 数据库:MySQL 8.0+
- ORM 框架:MyBatis-Plus 最新稳定版
- 日志框架:SLF4J + Lombok @Slf4j
- 测试框架:JUnit 5 + Mockito
- 代码标准:阿里巴巴Java开发手册 + 团队自定义规范
## 标准工程包结构(严格强制执行)
com.xxx.project
├── config # 全局配置、Bean、拦截器、跨域、分页插件、线程池
├── controller # 接口层:仅接收参数、调用业务、统一返回,禁止写业务逻辑
├── service # 业务接口层
│ └── impl # 业务实现层(所有业务逻辑实现)
├── mapper # DAO数据访问层,仅做数据库操作
├── entity # 数据库实体DO,严格对应数据表字段
├── dto # 前端入参:新增/修改/查询条件
├── vo # 前端出参:接口响应数据
├── exception # 自定义业务异常、全局异常处理器
├── common # 全局常量、枚举、统一返回体
├── util # 通用工具类
## 代码强制约束规则
1. 所有接口必须添加 @Valid 参数校验,禁止裸参数接收
2. 数据库操作优先使用MyBatis-Plus Lambda语法,禁止硬编码SQL
3. 所有接口统一返回 Result,禁止直接返回实体、List、Map
4. 强制空指针、集合空判断,杜绝NPE风险
5. 新增业务必须编写JUnit5单元测试,覆盖正常、异常、边界场景
6. 所有类、核心方法、复杂逻辑必须添加中文注释
7. 严格单一职责,单方法代码不超过80行,禁止超大类、万能方法
8. 禁止魔法值,所有固定参数统一维护在常量类
9. 业务事务必须配置 @Transactional,严格遵循事务生效规则
10. 手机号、密码、身份证等敏感字段必须脱敏输出、禁止明文日志打印
11. 所有分页接口必须使用MyBatis-Plus分页插件,禁止手写分页
12. 事务方法必须为public,禁止内部调用、非事务方法调用导致事务失效
13. 禁止在Controller写业务逻辑、数据库操作
14. 异常统一抛出业务异常,禁止直接返回错误字符串
## 统一命名规范
- 类名:大驼峰,望文知意
- 方法/变量:小驼峰,动词+名词
- 常量:全大写,下划线分隔
- 数据表、接口路径:小写下划线分隔
- DTO后缀:xxxDTO(入参)
- VO后缀:xxxVO(出参)
## AI开发强制输出规则
1. 禁止生成冗余import、废弃代码、无效注释、空方法
2. 严格贴合现有项目结构,不随意新建包、修改架构
3. 禁止私自新增、修改、删除Maven/Gradle依赖,依赖变更必须人工审核
4. 代码生成后必须保证编译通过、无语法错误
5. 新增文件必须补齐标准头部注释、功能说明
6. 严格遵循团队统一代码风格、注释规范、异常规范
7. 修复Bug、重构代码不得改动原有正常业务逻辑
2.2 免确认运行配置:.claude/settings.local.json
这份配置用来让AI在执行一些常规命令(如编译、测试、打包)时自动放行,避免每次你都手动点“确认”。文件同时兼容Maven和Gradle。
{
"allowedCommands": [
"mvn clean compile",
"mvn clean package",
"mvn test",
"mvn spring-boot:run",
"mvn dependency:tree",
"mvn jacoco:report",
"./gradlew clean build",
"./gradlew test",
"./gradlew bootRun",
"./gradlew dependencies"
],
"autoConfirm": true,
"maxFileWriteSize": 204800,
"timeout": 120000
}
2.3 AI专属.gitignore 规范配置
防止Claude的缓存、会话文件、临时文件污染你的代码仓库。记住把这些加到项目根目录的.gitignore里。
# Claude Code AI缓存文件
.claude/sessions/
.claude/cache/
claude-logs/
*.claude.tmp
# 项目编译缓存
target/
build/
*.iml
.idea/
*.class
第三章 团队通用基础组件模板(全员统一·直接投产)
所有项目必须使用以下统一组件,禁止团队不同成员各自写一套风格迥异的工具类、返回体或异常处理。这就是“标准件”。
3.1 统一全局返回体 Result
所有接口的返回值强制使用这个封装类,统一格式,方便前端处理。
import lombok.Data;
/**
* 全局统一接口返回结果
* 团队统一标准,所有接口强制使用
*/
@Data
public class Result {
private Integer code;
private String msg;
private T data;
public static Result success() {
return result(200, "操作成功", null);
}
public static Result success(T data) {
return result(200, "操作成功", data);
}
public static Result fail(Integer code, String msg) {
return result(code, msg, null);
}
private static Result result(Integer code, String msg, T data) {
Result result = new Result<>();
result.setCode(code);
result.setMsg(msg);
result.setData(data);
return result;
}
}
3.2 自定义业务异常
所有业务逻辑报错,都抛这个异常,而不是直接返回错误信息。
/**
* 全局自定义业务异常
* 业务报错统一抛出此异常
*/
public class BusinessException extends RuntimeException {
private final Integer code;
private final String msg;
public BusinessException(Integer code, String msg) {
super(msg);
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
3.3 全局统一异常处理器
统一拦截所有异常,保证返回给前端的永远是标准格式。并且会把未知异常的堆栈打印出来,方便排查问题。
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* 全局异常统一拦截处理
* 统一所有异常返回格式,禁止接口返回原生异常信息
*/
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
/** 表单、JSON参数校验异常 */
@ExceptionHandler(MethodArgumentNotValidException.class)
public Result validException(MethodArgumentNotValidException e) {
String msg = e.getBindingResult().getFieldError().getDefaultMessage();
return Result.fail(400, msg);
}
/** 绑定参数异常 */
@ExceptionHandler(BindException.class)
public Result bindException(BindException e) {
String msg = e.getFieldError().getDefaultMessage();
return Result.fail(400, msg);
}
/** 自定义业务异常 */
@ExceptionHandler(BusinessException.class)
public Result businessException(BusinessException e) {
return Result.fail(e.getCode(), e.getMsg());
}
/** 系统全局未知异常 */
@ExceptionHandler(Exception.class)
public Result globalException(Exception e) {
log.error("系统未知异常:", e);
return Result.fail(500, "系统繁忙,请稍后重试");
}
}
3.4 项目公共常量类
把所有魔术字(比如状态码、分页默认值)都放到这个类里,禁止在代码里直接写数字和字符串。
/**
* 全局公共常量
* 所有固定参数统一在此维护,杜绝魔法值
*/
public class CommonConstant {
// 接口响应码
public static final int SUCCESS_CODE = 200;
public static final int PARAM_ERROR_CODE = 400;
public static final int SERVER_ERROR_CODE = 500;
// 分页默认参数
public static final Integer DEFAULT_PAGE_NUM = 1;
public static final Integer DEFAULT_PAGE_SIZE = 10;
}
3.5 通用分页VO
所有分页接口返回的数据都用这个包装,格式统一。
import lombok.Data;
import java.util.List;
/**
* 全局统一分页返回对象
*/
@Data
public class PageVO {
private List list;
private Long total;
private Integer pageNum;
private Integer pageSize;
}
3.6 MyBatis-Plus 分页插件配置(必配)
整个项目只配置一次,所有分页接口都依赖它。配置后,自动帮你计算分页参数,禁止手写分页逻辑。
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* MyBatis-Plus 全局插件配置
* 分页功能必备,所有分页接口依赖此配置
*/
@Configuration
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 分页插件
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}
第四章 Java企业级编码规范(带正负对比示例)
上面的规范是纲领,这里给出具体示例,展示什么是“好代码”,什么是“坏代码”。
4.1 命名规范(强制校验)
命名是最基础也是最容易出问题的地方。好的命名,代码可读性直接提升50%。
4.1.1 类命名
// ✅ 正确:大驼峰、语义清晰、职责单一
@RestController
public class UserController {}
@Service
public class OrderServiceImpl {}
// ❌ 错误:小驼峰、无意义、拼音、乱数字
@Service
public class userService {}
@Controller
public class TestDemo1 {}
4.1.2 方法命名
// ✅ 正确:动词+名词,语义明确
public UserVO getUserById(Long userId);
public void updateUserStatus(Long userId, Integer status);
public PageVO listOrderPage(OrderQueryDTO queryDTO);
// ❌ 错误:无意义、简写、大小写混乱
public void doData();
public String getinfo();
4.1.3 常量命名
// ✅ 正确:全大写+下划线
public static final int MAX_LOGIN_FAIL_COUNT = 5;
public static final String USER_TOKEN_PREFIX = "user:token:";
// ❌ 错误:小驼峰、混合命名
public static final int maxCount = 5;
4.2 注释规范
注释不是为了写而写,而是为了让别人(包括未来的你自己)能快速理解代码的意图。
4.2.1 类注释
/**
* 用户管理控制器
* 负责用户新增、查询、修改、状态管理等相关接口
* @author 团队开发组
* @date 2026-04-27
*/
@RestController
@RequestMapping("/api/user")
4.2.2 方法注释
/**
* 根据用户ID查询用户详情
* @param userId 用户唯一ID
* @return 用户详情VO信息
* @throws BusinessException 用户不存在时抛出异常
*/
UserVO getUserDetail(Long userId);
4.3 Controller 层规范
Controller层只做三件事:接收参数、校验参数、调用Service。任何业务逻辑和数据操作都不应该出现在这里。
// ✅ 标准规范写法
@Slf4j
@RestController
@RequestMapping("/api/user")
public class UserController {
@PostMapping("/create")
public Result createUser(@Valid @RequestBody UserCreateDTO dto) {
log.info("新增用户,入参:{}", dto.getUsername());
Long userId = userService.createUser(dto);
return Result.success(userId);
}
}
// ❌ 错误写法:Controller写业务逻辑、数据库操作、无校验
@PostMapping("/create")
public Result createUser(@RequestBody UserCreateDTO dto){
User user = new User();
user.setUsername(dto.getUsername());
userMapper.insert(user);
return Result.success();
}
4.4 Service 业务层规范(事务+异常+日志)
业务层的核心原则:事务要明确、异常要抛出、关键步骤要打日志。
// ✅ 标准事务规范
@Override
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public Boolean createOrder(OrderCreateDTO dto) {
// 参数判空
if (Objects.isNull(dto) || Objects.isNull(dto.getSkuId())) {
throw new BusinessException(400, "订单参数不能为空");
}
// 业务逻辑
stockMapper.deductStock(dto.getSkuId(), dto.getQuantity());
Order order = buildOrder(dto);
orderMapper.insert(order);
return true;
}
// ❌ 错误:无事务、无异常、无判空、裸写逻辑
public boolean createOrder(OrderCreateDTO dto){
stockMapper.deductStock(dto.getSkuId(),dto.getQuantity());
Order order = buildOrder(dto);
orderMapper.insert(order);
return true;
}
4.5 数据传输规范(DTO/VO/DO 分层)
一个重要的原则:数据库实体(DO)坚决不暴露给前端。入参(DTO)和出参(VO)必须严格隔离。
// DO:数据库实体,仅对应数据库
@Data
@TableName("sys_user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String password;
private Integer status;
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
}
// DTO:前端入参,校验参数
@Data
public class UserCreateDTO {
@NotBlank(message = "用户名不能为空")
@Length(min = 2, max = 20, message = "用户名长度必须2-20位")
private String username;
@NotBlank(message = "密码不能为空")
private String password;
@Email(message = "邮箱格式错误")
private String email;
}
// VO:前端出参,脱敏、过滤敏感字段
@Data
public class UserVO {
private Long id;
private String username;
private String email;
private Integer status;
private LocalDateTime createTime;
}
4.6 空指针&集合处理规范
空指针是Java开发中最常见的Bug。从源头上杜绝它。
// ✅ 标准安全写法
List userList = Optional.ofNullable(list).orElse(Collections.emptyList());
List voList = userList.stream().map(this::convert).collect(Collectors.toList());
// ❌ 错误:直接调用size()、未判空
if(list.size() > 0){}
4.7 日志规范
日志是排查问题的眼睛。但要掌握好“度”,既要打印关键信息,又不能泄露敏感数据。
// ✅ 规范:info打印业务,error打印堆栈
log.info("用户登录成功,用户名:{}", username);
log.error("用户登录失败,用户名:{}", username, e);
// ❌ 错误:明文打印密码、不打印堆栈
log.info("登录参数:{}", dto);
log.error("登录失败");
第五章 Claude Code 高频内置指令(Java专用)
这些是Claude Code里最常用的指令,熟记它们能让你和AI的协作效率翻倍。
# 查看完整项目目录结构,快速熟悉项目
/tree
# 全局关键词检索(排查硬编码、指定注解、漏洞代码)
/search 关键词
# 查看AI所有代码修改差异
/diff
# 全局格式化Java代码,统一风格
/format
# 清空会话上下文,解决上下文过载、错乱
/clear
# 查看当前会话所有已修改文件
/changed
# 解析类/方法底层逻辑、业务流程、问题风险
/explain 全类路径
# 批量自动补全缺失注释
/docs
第六章 团队标准化8大生产级Prompt模板(直接复制即用)
好的Prompt是成功的一半。下面的Prompt模板经过大量实践验证,直接复制就能用,能极大提升AI生成代码的质量。
6.1 标准CRUD完整生成(日常开发核心)
严格遵循项目CLAUDE.md团队规范,完成【模块名称】完整企业级CRUD开发:
1. 生成标准DO实体,包含注释、主键、自动填充字段
2. 生成新增/修改/查询DTO,添加完整参数校验注解
3. 生成前端响应VO,脱敏敏感字段
4. Mapper继承BaseMapper,使用MyBatis-Plus规范写法
5. 编写Service接口与ServiceImpl实现类,增加事务、判空、异常处理、日志
6. 编写RESTful风格Controller接口,统一返回Result
7. 实现分页查询、详情查询、新增、修改、删除完整功能
8. 生成JUnit5单元测试,覆盖正常场景、参数异常、数据不存在场景
要求:代码规范整洁、无冗余、注释齐全、可直接编译运行。
6.2 线上Bug定位与修复(Debug专用)
帮我分析并修复当前项目报错,严格遵循团队规范:
1. 解析报错堆栈信息,精准定位报错代码行与根因
2. 排查空指针、参数非法、事务失效、N+1查询、依赖冲突、并发安全问题
3. 输出结构化问题分析报告
4. 修复代码,保证不改动原有正常业务逻辑
5. 执行编译校验,确保编译通过
6. 必要时补充单元测试验证修复效果
粘贴报错堆栈:
6.3 代码重构&性能优化
对【指定包/类路径】代码进行企业级重构优化,遵循CLAUDE.md团队规范:
1. 拆分超长方法、超大类,遵循单一职责原则
2. 修复潜在空指针、资源泄漏、事务漏洞、参数缺失问题
3. 消除所有魔法值,统一使用全局常量
4. 优化N+1数据库查询、循环IO、低效遍历等性能问题
5. 清理冗余import、废弃代码、无效注释
6. 规范日志打印、异常抛出格式
7. 重构后保证原有业务逻辑完全不变,编译、测试全部通过
先输出优化报告,再执行代码修改。
6.4 通用组件快速开发
基于SpringBoot3企业级规范和团队CLAUDE.md标准,创建【组件名称】通用组件:
1. 放置在项目对应规范包路径下
2. 适配JDK17新特性,代码严谨、边界完善
3. 完善异常处理、参数兼容、容错机制
4. 附带详细使用示例
5. 代码可直接投产使用
可选组件:跨域配置、线程池配置、日期工具、加密工具、序列化配置
6.5 上线前代码全量审计
对【全项目/指定模块】做完整企业级代码审计:
1. 代码异味:不规范命名、冗余代码、长方法、魔法值
2. 潜在Bug:空指针、事务失效、并发漏洞、参数未校验
3. 性能风险:N+1查询、资源未释放、慢查询、循环依赖
4. 安全风险:敏感信息明文日志、接口未鉴权、字段未脱敏
5. 规范问题:不符合阿里Java规范、团队自定义规范
输出结构化审计报告(风险等级+代码位置+问题描述+修复方案),自动修复低风险问题,高风险问题给出详细改造建议。
6.6 中间件开发(Redis/MQ)
遵循团队规范,基于SpringBoot实现【Redis/RocketMQ/Kafka】生产级能力:
1. 编写标准化配置类、序列化配置、连接优化
2. 封装通用工具类,实现常用业务方法
3. 增加超时控制、异常重试、容错降级
4. 规避生产经典问题:缓存穿透/击穿/雪崩、消息重复消费、消息丢失、消息积压
5. 编写使用示例与单元测试,保证可直接投产
6.7 事务&并发安全改造
全局检查并优化项目事务与并发安全逻辑:
1. 修复所有事务失效场景:非public方法、内部调用、异常被捕获
2. 合理配置@Transactional传播机制、隔离级别
3. 针对并发场景增加本地锁/分布式锁控制
4. 排查并解决超卖、数据覆盖、并发脏写问题
5. 输出改造说明,保证事务生效、并发安全
6.8 JWT登录鉴权模块开发
基于SpringBoot实现团队规范企业级JWT认证授权模块:
1. 实现登录、注销、令牌刷新核心接口
2. 编写全局Token拦截器,统一接口鉴权
3. 配置匿名放行接口、权限基础控制
4. 实现密码加密、Token过期、续签机制
5. 整合全局异常处理、参数校验、统一Result返回格式
第七章 高频致命坑点全集(团队强制避坑)
这些都是团队在实战中踩过的“坑”,堪称血泪教训,务必全员牢记。
- 依赖冲突坑:AI经常在不打招呼的情况下私自引入不兼容的依赖版本。每次开发完成后,都必须手动执行
mvn dependency:tree或./gradlew dependencies来校验。核心原则:禁止AI私自修改pom文件。 - 事务幻觉坑:AI很容易忽略事务的关键规则,比如“事务方法必须是public”、“内部调用会导致事务失效”、“受检异常被捕获也不回滚”。所有涉及事务的代码,必须进行人工复核。
- 分页缺失坑:AI生成的CRUD代码经常忘记配置分页插件,导致分页功能失效。项目已经统一配置了全局分页插件,开发者就不要再手写分页逻辑了。
- 敏感数据泄露坑:绝对禁止AI在日志里明文打印手机号、密码、身份证号。所有敏感字段在输出前必须强制脱敏。
- 上下文过载坑:不要在同一个Claude会话里开发多个业务模块。请按用户、订单、库存等业务模块拆分独立会话。定期使用
/clear指令重置上下文,避免AI“精神错乱”。 - 代码误删覆盖坑:在让AI修改核心业务代码前,务必先执行
/diff命令,逐行核对变更内容,防止AI“好心办坏事”误删了正常逻辑。 - 魔法值坑:代码里禁止出现任何硬编码的固定参数。所有常量必须统一维护在
CommonConstant或对应的枚举类中。 - NPE空指针坑:强制所有对象和集合在处理前先做判空(或使用
Optional)。禁止直接调用可能为null的对象的属性或方法。
第八章 架构师级团队标准AI开发工作流(强制流程)
这8个步骤定义了团队使用AI开发的标准节奏,能有效避免混乱、返工和不规范。建议作为SOP执行。
- 项目初始化:新项目接入时,第一步就是将
CLAUDE.md、权限配置文件和.gitignore放入项目根目录。 - 项目认知:启动Claude,先让它通读整个项目的结构、技术栈和规范文件,但不要让它做任何代码修改。这一步是为了建立“共识”。
- 基础组件先行:在开发具体业务前,先把统一返回体、全局异常处理器、分页配置、公共工具类等“地基”打好。
- 模块会话隔离:按用户、订单、库存、支付等不同业务模块,创建独立的Claude会话,每个会话只专注于一个模块。
- 标准化业务开发:按照“生成CRUD → 添加参数校验 → 配置事务 → 完善日志 → 处理异常”的标准流程进行开发。
- 质量校验闭环:每次AI生成代码后,必须做三步检查:
/diff核对变更 →mvn compile编译通过 → 运行单元测试覆盖关键逻辑。 - 优化审计:在功能完成后,进行代码格式化、异味修复、性能优化以及安全漏洞扫描。
- 上线收尾:上线前,清理所有冗余代码,确保代码风格统一,并进行全量回归测试和核心逻辑的人工复核。
第九章 Java + Claude API 生产级实战(同步+异步)
如果希望把Claude的能力集成到自己的Java应用中,下面是一个最简的实战示例。
9.1 Maven 核心依赖
com.anthropic
anthropic-java
0.7.0
io.projectreactor
reactor-core
9.2 同步调用 Demo
适合对单次调用有实时性要求的场景,比如代码审查、Bug分析。
import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.messages.MessageParam;
import com.anthropic.models.messages.Role;
/**
* Claude API 同步调用示例
* 用于代码审查、代码优化、Bug分析
*/
public class ClaudeSyncDemo {
public static void main(String[] args) {
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
String result = client.messages().create(req -> req
.model("claude-3-5-sonnet-latest")
.maxTokens(2048)
.messages(MessageParam.builder()
.role(Role.USER)
.content("帮我审查这段Java代码,找出漏洞、性能问题并给出优化方案")
.build())
).content().get(0).text();
System.out.println("AI分析结果:" + result);
}
}
9.3 异步调用 Demo(生产推荐)
适合后台耗时的分析任务,不阻塞主线程,比如批量代码扫描、日志智能解析。
import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
/**
* Claude API 异步调用示例
* 适用于后台异步代码分析、日志智能解析
*/
public class ClaudeAsyncDemo {
public static void main(String[] args) {
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
client.messages()
.createAsync(req -> req
.model("claude-3-5-sonnet-latest")
.maxTokens(2048)
.userMessage("帮我优化SpringBoot事务代码,修复事务失效风险"))
.subscribe(resp -> {
System.out.println("AI异步返回结果:" + resp.content().get(0).text());
});
}
}
第十章 手册全覆盖验收清单
最后,用这份清单快速检查一下,看看我们是否已经覆盖了所有需要的内容。
- ✅ Windows/Mac/Linux 全平台零基础部署
- ✅ Maven/Gradle 双构建工具适配
- ✅ 企业级Java全套编码规范(带正负代码示例)
- ✅ 团队统一三份核心配置文件
- ✅ 6套生产通用基础组件源码(直接投产)
- ✅ Claude Code 全套高频指令
- ✅ 8大生产高阶场景万能Prompt模板
- ✅ 全量生产避坑指南
- ✅ 架构师级标准化开发工作流
- ✅ 同步+异步 Claude Java API 实战代码
