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);
    }
}

图片