Spring boot常用注解和作用

Spring Boot 提供了许多注解来简化开发和配置。以下是一些最常用的 Spring Boot 注解及其作用:

  1. @SpringBootApplication

    • 组合注解,用于启动 Spring 应用的自动配置。它包括 @Configuration@EnableAutoConfiguration@ComponentScan
    • 用法:通常放在主类上。
  2. @EnableAutoConfiguration

    • 告诉 Spring Boot 基于类路径中的 jar 包依赖为当前项目进行自动配置。
    • 用法:放在配置类上。
  3. @ComponentScan

    • 用于指定 Spring 扫描组件的位置。
    • 用法:放在配置类上,可以指定扫描的包路径。
  4. @RestController

    • 组合注解,包括 @Controller@ResponseBody,用于定义 RESTful Web Services。
    • 用法:放在控制器类上。
  5. @RequestMapping

    • 用于定义请求映射,将 HTTP 请求映射到特定的处理方法上。
    • 用法:放在处理请求的方法上。
  6. @GetMapping@PostMapping@PutMapping@DeleteMapping

    • 用于处理特定的 HTTP 方法(GET、POST、PUT、DELETE)的请求映射。
    • 用法:放在处理特定 HTTP 方法请求的方法上。
  7. @Autowired

    • 自动导入依赖的 bean。
    • 用法:放在字段、构造器、设置方法和普通方法上。
  8. @Component

    • 标识一个类为 Spring 管理的组件。
    • 用法:放在类上。
  9. @Service

    • 标识一个类为服务层组件。
    • 用法:放在服务类上。
  10. @Repository

    • 标识一个类为数据访问组件,即 DAO 组件。
    • 用法:放在数据访问类上。
  11. @Controller

    • 标识一个类为 Spring MVC 控制器。
    • 用法:放在控制器类上。
  12. @ResponseBody

    • 表示该方法的返回值作为 HTTP 响应的正文返回,而不是跳转到某个视图。
    • 用法:放在方法上。
  13. @RequestBody

    • 用于读取 Http 请求内容,自动将请求内容转换成指定类型的参数。
    • 用法:放在方法参数上。
  14. @RequestParam

    • 用于读取请求参数。
    • 用法:放在方法参数上。
  15. @PathVariable

    • 用于读取 URL 中的占位符参数。
    • 用法:放在方法参数上。
  16. @Value

    • 注入外部配置到字段中。
    • 用法:放在字段上。
  17. @Qualifier

    • 当有多个同一类型的 bean 时,用于指定具体注入哪一个。
    • 用法:放在 @Autowired 注解旁边。
  18. @Configuration

    • 定义配置类,可替换 xml 配置文件。
    • 用法:放在配置类上。
  19. @Bean

    • 在配置类中声明一个 bean。
    • 用法:放在方法上。
  20. @Profile

    • 指定组件在哪个环境的配置下才能被注册到容器中。
    • 用法:放在类或方法上。
  21. @Lazy

    • 延迟加载 bean,只有在第一次使用该 bean 时才初始化。
    • 用法:放在字段或方法参数上。
  22. @Scope

    • 定义 bean 的作用域。
    • 用法:放在方法上。
  23. @PostConstruct@PreDestroy

    • 分别用于在 bean 创建后和销毁前执行的方法。
    • 用法:放在方法上。

这些注解是 Spring Boot 开发中非常核心和常用的,它们极大地简化了配置和开发过程。

相关推荐
初晴~24 分钟前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
盖世英雄酱5813629 分钟前
InnoDB 的页分裂和页合并
数据库·后端
小_太_阳1 小时前
Scala_【2】变量和数据类型
开发语言·后端·scala·intellij-idea
直裾1 小时前
scala借阅图书保存记录(三)
开发语言·后端·scala
黑胡子大叔的小屋1 小时前
基于springboot的海洋知识服务平台的设计与实现
java·spring boot·毕业设计
ThisIsClark1 小时前
【后端面试总结】深入解析进程和线程的区别
java·jvm·面试
星就前端叭2 小时前
【开源】一款基于Vue3 + WebRTC + Node + SRS + FFmpeg搭建的直播间项目
前端·后端·开源·webrtc
计算机毕设孵化场2 小时前
计算机毕设-基于springboot的校园社交平台的设计与实现(附源码+lw+ppt+开题报告)
spring boot·课程设计·计算机毕设论文·计算机毕设ppt·计算机毕业设计选题推荐·计算机选题推荐·校园社交平台
雷神乐乐2 小时前
Spring学习(一)——Sping-XML
java·学习·spring
苹果醋32 小时前
Golang的文件加密工具
运维·vue.js·spring boot·nginx·课程设计