JavaDoc 是 Java 的文档生成工具,通过标准化的注释格式生成 API 文档。本文档说明如何编写符合规范的 JavaDoc 注释。
注意:本文档基于标准 JavaDoc 规范。如果项目遵循《JAVA 编程规范》,请参考 java-coding-standards.md 获取更严格的格式要求。
/**
* 注释内容
*/
/**
* 第一行注释
* 第二行注释
* 第三行注释
*/
使用 <p> 标签分隔段落:
/**
* 第一段内容
*
* <p>第二段内容
*
* <p>第三段内容
*/
/**
* 类描述
*
* <p>详细说明
*
* @author 作者名
* @since 版本号或日期
* @version 版本号(可选)
*/
public class MyClass {
}
@author: 作者信息@since: 首次引入的版本或日期@version: 版本号@see: 相关类或方法的引用@deprecated: 标记为已废弃/**
* 用户管理服务
*
* <p>提供用户相关的业务逻辑处理,包括用户的创建、查询、更新和删除操作。
* 本服务遵循领域驱动设计(DDD)原则,封装用户领域的核心业务逻辑。
*
* @author System
* @since 1.0.0
* @version 1.0.0
*/
public class UserService {
}
/**
* 方法描述
*
* <p>详细说明(可选)
*
* @param 参数名 参数说明
* @return 返回值说明
* @throws 异常类型 异常说明
*/
public ReturnType methodName(ParamType param) {
}
/**
* 根据用户 ID 查询用户信息
*
* <p>根据提供的用户 ID 从数据库查询对应的用户详细信息。
* 如果用户不存在,将抛出 ResourceNotFoundException 异常。
*
* @param id 用户唯一标识符,不能为 null
* @return 用户信息 DTO,如果用户不存在则返回 null
* @throws ResourceNotFoundException 当用户不存在时抛出
* @throws IllegalArgumentException 当 id 为 null 时抛出
*/
public UserDTO findById(Long id) {
// 实现代码
}
/**
* 字段描述
*
* <p>详细说明(可选)
*/
private FieldType fieldName;
/**
* 用户数据访问对象
*
* <p>用于执行用户相关的数据库操作,由 Spring 容器注入
*/
private final UserMapper userMapper;
用于描述方法参数:
/**
* @param username 用户名,长度 3-20 个字符
* @param password 密码,长度至少 8 个字符
*/
public void login(String username, String password) {
}
用于描述返回值:
/**
* @return 用户信息列表,如果不存在则返回空列表
*/
public List<UserDTO> findAll() {
}
用于描述可能抛出的异常:
/**
* @throws IllegalArgumentException 当参数不合法时抛出
* @throws BusinessException 当业务规则违反时抛出
*/
public void createUser(UserCreateRequest request) {
}
用于引用相关的类或方法:
/**
* @see UserService
* @see #findById(Long)
*/
public class UserController {
}
用于标记已废弃的方法或类:
/**
* @deprecated 使用 {@link #newMethod()} 替代
*/
@Deprecated
public void oldMethod() {
}
用于标记首次引入的版本:
/**
* @since 1.2.0
*/
public void newFeature() {
}
JavaDoc 支持在注释中使用 HTML 标签:
/**
* <p>主要功能:
* <ul>
* <li>创建用户</li>
* <li>查询用户</li>
* <li>更新用户</li>
* </ul>
*/
/**
* <p>处理流程:
* <ol>
* <li>验证参数</li>
* <li>执行业务逻辑</li>
* <li>返回结果</li>
* </ol>
*/
/**
* <p>使用示例:
* <pre>{@code
* UserService service = new UserService();
* UserDTO user = service.findById(1L);
* }</pre>
*/
/**
* <p>使用 {@code UserService} 处理用户相关业务
*/
/**
* <p>参考 {@link UserService#findById(Long)}
*/
// ❌ 错误
/**
* 创建用户
*/
public void createUser(String username) {
}
// ✅ 正确
/**
* 创建用户
*
* @param username 用户名
*/
public void createUser(String username) {
}
// ❌ 错误
/**
* 查询用户
*/
public UserDTO findById(Long id) {
}
// ✅ 正确
/**
* 查询用户
*
* @param id 用户 ID
* @return 用户信息 DTO
*/
public UserDTO findById(Long id) {
}
// ❌ 错误:注释说返回 null,但实际抛出异常
/**
* @return 用户信息,如果不存在则返回 null
*/
public UserDTO findById(Long id) {
throw new ResourceNotFoundException();
}
// ✅ 正确
/**
* @param id 用户 ID
* @return 用户信息 DTO
* @throws ResourceNotFoundException 当用户不存在时抛出
*/
public UserDTO findById(Long id) {
throw new ResourceNotFoundException();
}