Bootstrap

spring boot常用注解

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    // 正则表达式


 

;