SpringBoot入门--常见注解及其功能、使用场景

Spring Boot 提供了一系列注解来简化开发和配置。以下是一些常见的 Spring Boot 注解及其功能和使用场景:

  1. @SpringBootApplication

    • 功能:组合了 @Configuration@EnableAutoConfiguration 和 @ComponentScan,用于定义 Spring Boot 应用的主类。
    • 使用场景:在 Spring Boot 应用的入口类上使用。
  2. @RestController

    • 功能:组合了 @Controller 和 @ResponseBody,用于创建 RESTful web 服务。
    • 使用场景:用于控制器类上,表示该控制器中的方法返回的对象直接作为 HTTP 响应的正文。
  3. @RequestMapping

    • 功能:用于映射 HTTP 请求到控制器的处理方法上,可以指定请求的路径、方法等。
    • 使用场景:用于控制器类或方法上,定义请求的路由规则。
  4. @GetMapping / @PostMapping / @PutMapping / @DeleteMapping

    • 功能:分别用于处理 HTTP GET、POST、PUT 和 DELETE 请求。
    • 使用场景:用于控制器的方法上,指定该方法处理特定类型的 HTTP 请求。
  5. @Autowired

    • 功能:自动注入依赖的 Bean。
    • 使用场景:用于字段、构造函数、设置方法上,实现依赖注入。
  6. @Service / @Repository / @Controller

    • 功能:分别用于标记服务层、数据访问层和控制层的组件。
    • 使用场景:用于类上,表示该类属于特定的业务层。
  7. @Value

    • 功能:注入外部配置的值,如配置文件中的属性。
    • 使用场景:用于字段或方法参数上,注入配置文件中的值。
  8. @Configuration

    • 功能:标记配置类,可以包含一个或多个 @Bean 注解的方法。
    • 使用场景:用于自定义配置类上,定义 Bean 的创建方式。
  9. @Bean

    • 功能:在配置类中标记一个方法,该方法的返回值将被注册为 Spring 应用上下文中的 Bean。
    • 使用场景:用于配置类的方法上,定义 Bean 的实例。
  10. @Profile

    • 功能:指定 Bean 的激活 Profile。
    • 使用场景:用于类或方法上,指定该类或方法在特定的 Profile 下才激活。
  11. @Conditional

    • 功能:根据条件判断是否创建 Bean。
    • 使用场景:用于自动配置类或自定义配置类上,控制配置的激活条件。
  12. @PropertySource

    • 功能:指定配置文件的位置,可以加载外部的配置文件。
    • 使用场景:用于配置类上,指定配置文件的来源。
  13. @Import

    • 功能:导入其他配置类。
    • 使用场景:用于配置类上,组合多个配置类。
  14. @Scheduled

    • 功能:标记定时任务的方法。
    • 使用场景:用于方法上,表示该方法是一个定时执行的任务。
  15. @EnableScheduling

    • 功能:启用定时任务的支持。
    • 使用场景:用于配置类上,启用 Spring 的定时任务功能。
  16. @Async

    • 功能:标记异步执行的方法。
    • 使用场景:用于方法上,表示该方法应该异步执行。
  17. @EnableAsync

    • 功能:启用异步方法的支持。
    • 使用场景:用于配置类上,启用 Spring 的异步方法执行功能。
  18. @Cacheable

    • 功能:标记可以被缓存的方法。
    • 使用场景:用于方法上,表示该方法的返回值可以被缓存。
  19. @EnableCaching

    • 功能:启用缓存的支持。
    • 使用场景:用于配置类上,启用 Spring 的缓存功能。
  20. @Transactional

    • 功能:标记事务性的方法。
    • 使用场景:用于方法上,表示该方法应该在一个事务中执行。
  21. @EnableTransactionManagement

    • 功能:启用声明式事务管理。
    • 使用场景:用于配置类上,启用 Spring 的声明式事务管理。
  22. @ResponseStatus

    • 功能:用于设置 HTTP 响应的状态码。
    • 使用场景:用于异常类或控制器类上,定义异常的 HTTP 状态码。
  23. @ExceptionHandler

    • 功能:用于全局或局部异常处理。
    • 使用场景:用于方法上,处理特定的异常。
  24. @ControllerAdvice

    • 功能:用于定义全局异常处理、数据绑定或数据验证的类。
    • 使用场景:用于类上,定义全局的异常处理逻辑。
  25. @PathVariable

    • 功能:用于从 URL 路径中提取变量。
    • 使用场景:用于控制器方法的参数上,提取 URL 路径中的值。
  26. @RequestParam

    • 功能:用于从请求参数中提取变量。
    • 使用场景:用于控制器方法的参数上,提取请求参数的值。
  27. @RequestBody

    • 功能:用于将请求体绑定到方法参数。
    • 使用场景:用于控制器方法的参数上,将 HTTP 请求的正文绑定到参数。
  28. @ResponseBody

    • 功能:指示方法的返回值应该作为响应体返回。
    • 使用场景:用于控制器方法上,将方法的返回值直接作为 HTTP 响应的正文。
  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值