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 开发中非常核心和常用的,它们极大地简化了配置和开发过程。

相关推荐
冰帝海岸4 分钟前
01-spring security认证笔记
java·笔记·spring
世间万物皆对象30 分钟前
Spring Boot核心概念:日志管理
java·spring boot·单元测试
没书读了1 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
小二·1 小时前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic1 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
懒洋洋大魔王2 小时前
RocketMQ的使⽤
java·rocketmq·java-rocketmq
武子康2 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
qq_17448285752 小时前
springboot基于微信小程序的旧衣回收系统的设计与实现
spring boot·后端·微信小程序
转世成为计算机大神2 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式
qq_327342732 小时前
Java实现离线身份证号码OCR识别
java·开发语言