1. 核心注解
@SpringBootApplication // 包含@Configuration、@EnableAutoConfiguration和@ComponentScan
@EnableAutoConfiguration // 启用自动配置
@Configuration // 声明配置类
@ComponentScan // 组件扫描
2. 组件注解
@Component // 通用组件
@Service // 服务层组件
@Repository // 数据访问层组件
@Controller // 控制器组件
@RestController // REST控制器(@Controller + @ResponseBody)
3. 配置相关注解
@Bean // 声明Bean
@ConfigurationProperties(prefix = "xxx") // 配置属性绑定
@Value("${property}") // 注入配置属性
@Profile("dev") // 指定环境
@PropertySource("classpath:xxx.properties") // 指定配置文件
@ImportResource("classpath:beans.xml") // 导入XML配置
4. 依赖注入注解
@Autowired // 自动装配
@Qualifier("beanName") // 指定注入Bean的名称
@Resource // 按名称注入
@Inject // JSR-330标准注解
5. Web相关注解
// 请求映射
@RequestMapping("/path")
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
// 请求参数
@RequestParam // URL参数
@PathVariable // 路径变量
@RequestBody // 请求体
@RequestHeader // 请求头
@CookieValue // Cookie值
// 响应处理
@ResponseBody // 返回JSON/XML等格式
@ResponseStatus(HttpStatus.OK) // 指定响应状态码
6. 切面编程(AOP)注解
@Aspect // 声明切面
@Pointcut // 切入点
@Before // 前置通知
@After // 后置通知
@AfterReturning // 返回通知
@AfterThrowing // 异常通知
@Around // 环绕通知
7. 事务相关注解
@Transactional // 声明事务
@EnableTransactionManagement // 启用事务管理
8. 缓存相关注解
@Cacheable // 缓存结果
@CacheEvict // 清除缓存
@CachePut // 更新缓存
@EnableCaching // 启用缓存
9. 异步相关注解
@EnableAsync // 启用异步
@Async // 异步方法
10. 定时任务注解
@EnableScheduling // 启用定时任务
@Scheduled // 声明定时任务
11. 条件注解
@Conditional // 条件装配
@ConditionalOnClass // 当类存在时
@ConditionalOnMissingClass // 当类不存在时
@ConditionalOnBean // 当Bean存在时
@ConditionalOnMissingBean // 当Bean不存在时
@ConditionalOnProperty // 当属性满足条件时
12. 测试相关注解
@SpringBootTest // Spring Boot测试
@Test // 测试方法
@MockBean // Mock Bean
@SpyBean // Spy Bean
@AutoConfigureMockMvc // 配置MockMvc
13. 安全相关注解
@EnableWebSecurity // 启用Web安全
@PreAuthorize // 方法调用前权限验证
@PostAuthorize // 方法调用后权限验证
@Secured // 安全性检查
14. Swagger/OpenAPI文档注解
@Api // 描述API类
@ApiOperation // 描述API方法
@ApiParam // 描述参数
@ApiModel // 描述对象模型
@ApiModelProperty // 描述模型属性
15. 验证注解(JSR-303)
@Valid // 验证注解
@NotNull // 不能为null
@NotEmpty // 不能为空
@NotBlank // 不能为空白
@Size // 大小限制
@Min // 最小值
@Max // 最大值
@Email // 邮箱格式
@Pattern // 正则表达式