《SpringBoot注解速查手册:涵盖107个核心注解》

182 阅读4分钟

引言

Spring Boot的注解体系是开发者与框架对话的“密码本”。但许多开发者仅停留在@RestController@Autowired等基础注解的使用,对条件装配、自动配置、扩展接口等高阶注解知之甚少。本文将彻底列举Spring Boot的107个核心注解,可将本文作为 速查手册 收藏

一、IOC容器核心注解(23个)

  1. @ComponentScan - 配置组件扫描路径
  2. @Lazy - 延迟初始化Bean
  3. @Scope - 设置Bean作用域(singleton/prototype等)
  4. @DependsOn - 指定Bean初始化顺序
  5. @Primary - 优先注入的候选Bean
  6. @Lookup - 方法级别依赖查找
  7. @AliasFor - 注解属性别名
  8. @Role - 定义Bean的角色(ROLE_APPLICATION/ROLE_SUPPORT)
  9. @Description - 添加Bean描述信息
  10. @ConditionalOnJava - 根据Java版本注册Bean
  11. @ConditionalOnResource - 资源文件存在时生效
  12. @ConditionalOnJndi - JNDI存在时生效
  13. @ConditionalOnCloudPlatform - 云平台环境检测
  14. @ConditionalOnWarDeployment - WAR部署时生效
  15. @ConditionalOnSingleCandidate - 当唯一候选时注册
  16. @ImportSelector - 动态导入配置类
  17. @ImportBeanDefinitionRegistrar - 编程式注册Bean
  18. @PropertySource - 加载外部配置文件
  19. @PropertySources - 多配置文件加载
  20. @Repeatable - 可重复注解容器
  21. @Profile - 环境隔离配置
  22. @EnableLoadTimeWeaving - 类加载期织入
  23. @EnableMBeanExport - 暴露JMX MBean

二、Web开发注解(18个)

  1. @CookieValue - 获取Cookie值
  2. @SessionAttribute - 访问Session属性
  3. @SessionAttributes - 声明会话存储模型
  4. @MatrixVariable - 解析矩阵变量
  5. @RequestAttribute - 获取请求域属性
  6. @InitBinder - 自定义数据绑定
  7. @ExceptionHandler - 控制器异常处理
  8. @ControllerAdvice - 全局控制器增强
  9. @ModelAttribute - 模型数据绑定
  10. @ResponseBody - 返回值序列化
  11. @RequestMapping - 通用请求映射
  12. @RestControllerAdvice - REST风格异常处理
  13. @Hidden - Swagger隐藏API
  14. @Operation - OpenAPI接口描述
  15. @Parameter - 接口参数描述
  16. @ApiResponse - 响应状态码说明
  17. @Server - OpenAPI服务器配置
  18. @Tag - API分组标签

三、数据访问注解(14个)

  1. @EntityScan - JPA实体类扫描
  2. @EnableJpaRepositories - 激活JPA仓库
  3. @Query - 自定义查询语句
  4. @Modifying - 标识更新操作
  5. @Procedure - 调用存储过程
  6. @Lock - 指定锁模式
  7. @EnableTransactionManagement - 启用声明式事务
  8. @Sql - 测试时执行SQL脚本
  9. @SqlMergeMode - 控制SQL脚本合并
  10. @DataJpaTest - JPA切片测试
  11. @DynamicUpdate - 动态生成Update语句
  12. @Access - JPA字段访问策略
  13. @ColumnTransformer - 列数据转换
  14. @TenantId - 多租户数据隔离

四、配置与属性绑定(12个)

  1. @ConstructorBinding - 构造函数绑定配置
  2. @DurationUnit - 时间单位配置
  3. @DataSizeUnit - 数据大小单位配置
  4. @NestedConfigurationProperty - 嵌套属性绑定
  5. @ConfigurationPropertiesScan - 配置类自动扫描
  6. @DeprecatedConfigurationProperty - 标记废弃配置项
  7. @EnableConfigurationProperties - 启用指定配置类
  8. @ConfigurationPropertiesBindHandler - 自定义绑定处理器
  9. @AutoConfigureBefore - 控制自动配置顺序
  10. @AutoConfigureAfter - 定义配置依赖顺序
  11. @AutoConfigureOrder - 自动配置排序
  12. @BootstrapWith - 自定义引导程序

五、安全与权限(9个)

  1. @EnableWebSecurity - 启用Web安全配置
  2. @PreAuthorize - 方法执行前鉴权
  3. @PostAuthorize - 方法执行后鉴权
  4. @PreFilter - 方法参数过滤
  5. @PostFilter - 返回值结果过滤
  6. @Secured - 角色权限校验
  7. @EnableGlobalMethodSecurity - 启用方法级安全
  8. @WithMockUser - 测试模拟用户
  9. @WithAnonymousUser - 测试匿名用户

六、测试与验证(11个)

  1. @WebMvcTest - MVC切片测试
  2. @DataRedisTest - Redis测试
  3. @RestClientTest - 客户端测试
  4. @JsonTest - JSON序列化测试
  5. @TypeExcludeFilter - 类型排除过滤器
  6. @DynamicPropertySource - 动态测试属性
  7. @TestConstructor - 测试类构造器自动注入
  8. @SqlConfig - SQL脚本配置
  9. @ParameterizedTest - 参数化测试
  10. @RepeatedTest - 重复执行测试
  11. @EnabledIf - 条件启用测试

七、高级特性(15个)

  1. @EnableAsync - 启用异步执行
  2. @EnableScheduling - 启用定时任务
  3. @EnableCaching - 启用缓存机制
  4. @EnableRetry - 启用方法重试
  5. @EnableAspectJAutoProxy - 启用AOP代理
  6. @EnableJms - 启用JMS消息队列
  7. @EnableBatchProcessing - 启用批处理
  8. @EnableCircuitBreaker - 启用熔断器
  9. @EnableDiscoveryClient - 注册服务发现
  10. @EnableFeignClients - 启用Feign客户端
  11. @EnableConfigurationProperties - 批量属性绑定
  12. @EnableEncryptableProperties - 属性加密
  13. @EnableTransactionManagement - 事务管理
  14. @EnableMBeanExport - JMX监控支持
  15. @EnableWebFlux - 响应式Web支持

八、自定义扩展(5个)

  1. @EnableAutoConfiguration - 启用自动配置
  2. @AutoConfigureJson - 自定义JSON序列化
  3. @ConditionalOnWebApplication - Web环境条件
  4. @ConditionalOnNotWebApplication - 非Web环境条件
  5. @ConditionalOnExpression - SpEL表达式条件

结语

本文系统梳理了Spring Boot框架的107个核心注解,覆盖以下维度:

  • IOC容器(23个)
  • Web开发(18个)
  • 数据访问(14个)
  • 安全体系(9个)
  • 测试验证(11个)
  • 高级特性(15个)
  • 扩展机制(5个)

建议开发者:

  1. 将本文作为速查手册收藏
  2. 配合Spring官方文档理解源码实现
  3. 通过IDEA的Ctrl+Click跳转查看注解源码
  4. 在开发中逐步尝试冷门注解的实战应用

知识拓展:Spring Boot 3.0新增的@AutoConfiguration注解,标志着自动配置机制的进一步标准化,值得深入学习。