markdown
Spring Boot 注解速查表
📋 常用注解功能速查
🎯 控制器声明注解
| 注解 |
位置 |
主要功能 |
常用属性 |
@Controller |
类 |
声明为MVC控制器,返回视图 |
- |
@RestController |
类 |
声明为REST控制器,返回JSON |
- |
@RequestMapping |
类/方法 |
请求路径映射 |
value, method, produces, consumes |
@GetMapping |
方法 |
处理GET请求 |
value, produces |
@PostMapping |
方法 |
处理POST请求 |
value, consumes |
@PutMapping |
方法 |
处理PUT请求 |
value |
@DeleteMapping |
方法 |
处理DELETE请求 |
value |
@PatchMapping |
方法 |
处理PATCH请求 |
value |
🔧 参数处理注解
| 注解 |
位置 |
主要功能 |
常用属性 |
@PathVariable |
参数 |
获取URL路径参数 |
value, required |
@RequestParam |
参数 |
获取查询参数 |
value, required, defaultValue |
@RequestBody |
参数 |
获取请求体(JSON/XML) |
required |
@RequestHeader |
参数 |
获取请求头 |
value, required |
@CookieValue |
参数 |
获取Cookie值 |
value, required |
✅ 数据验证注解
| 注解 |
位置 |
主要功能 |
常用属性 |
@Valid |
参数 |
JSR-303验证注解 |
- |
@Validated |
参数/类 |
Spring验证,支持分组 |
value |
@NotNull |
字段 |
字段不能为null |
- |
@NotEmpty |
字段 |
集合/字符串不能为空 |
- |
@Size |
字段 |
字符串/集合大小限制 |
min, max |
@Email |
字段 |
邮箱格式验证 |
- |
📤 响应处理注解
| 注解 |
位置 |
主要功能 |
常用属性 |
@ResponseBody |
方法 |
返回值序列化为响应体 |
- |
@ResponseStatus |
方法/异常类 |
设置HTTP状态码 |
value, reason |
ResponseEntity |
返回值 |
灵活构建响应 |
状态码、头、体 |
🌐 跨域处理注解
| 注解 |
位置 |
主要功能 |
常用属性 |
@CrossOrigin |
类/方法 |
配置CORS跨域 |
origins, methods, maxAge |
📚 Swagger文档注解
| 注解 |
位置 |
主要功能 |
常用属性 |
@Api |
类 |
控制器描述 |
tags, value, description |
@ApiOperation |
方法 |
接口方法描述 |
value, notes, response |
@ApiParam |
参数 |
参数描述 |
value, required, example |
@ApiModel |
模型类 |
模型类描述 |
description, value |
@ApiModelProperty |
字段 |
模型字段描述 |
value, required, example |
🔩 其他重要注解
| 注解 |
位置 |
主要功能 |
常用属性 |
@InitBinder |
方法 |
数据绑定初始化 |
- |
@ModelAttribute |
方法/参数 |
模型属性处理 |
value |
@SessionAttributes |
类 |
Session属性管理 |
value |
@RestControllerAdvice |
类 |
全局异常处理 |
- |
@ExceptionHandler |
方法 |
异常处理方法 |
value |
@Autowired |
字段/构造器/方法 |
依赖注入 |
required |
@Component |
类 |
声明为Spring组件 |
value |
@Service |
类 |
声明为业务层组件 |
value |
@Repository |
类 |
声明为数据访问组件 |
value |
@Configuration |
类 |
声明为配置类 |
- |
@Bean |
方法 |
声明Bean |
name, initMethod |
@Value |
字段 |
注入配置文件值 |
value |
🎨 Lombok实用注解
| 注解 |
主要功能 |
示例 |
@Data |
自动生成getter/setter/toString等 |
@Data public class User {} |
@Getter |
自动生成getter方法 |
@Getter private String name; |
@Setter |
自动生成setter方法 |
@Setter private String name; |
@ToString |
自动生成toString方法 |
@ToString(callSuper=true) |
@EqualsAndHashCode |
自动生成equals和hashCode |
@EqualsAndHashCode(callSuper=true) |
@NoArgsConstructor |
生成无参构造器 |
@NoArgsConstructor |
@AllArgsConstructor |
生成全参构造器 |
@AllArgsConstructor |
@Builder |
生成建造者模式 |
@Builder public class User {} |
@Slf4j |
自动生成日志记录器 |
@Slf4j public class UserService {} |
@SneakyThrows |
偷偷抛出异常 |
@SneakyThrows public void method() {} |
💡 核心注解详解
@Autowired - 依赖注入
功能:自动装配Bean,实现依赖注入
// 传统方式
private UserService userService = new UserServiceImpl();
// @Autowired方式
@Autowired
private UserService userService;
三种注入方式:
字段注入(最常用)
构造器注入(推荐)
Setter方法注入
@Slf4j - 简化日志
功能:自动生成日志记录器,无需手动声明
java
@Slf4j
public class UserService {
public void createUser() {
log.info("创建用户开始");
// 业务逻辑
log.debug("用户参数:{}", user);
log.warn("警告信息");
log.error("错误信息", exception);
}
}
图片