Springboot开发常见注解一览

注解 用法 常用参数
@Configuration 用于标记类为配置类,其中通过@Bean方法定义Spring管理的组件。它替代XML配置,用Java代码声明对象创建逻辑,并确保单例等容器特性生效。相当于给Spring提供一个"制造说明书"来组装应用部件
@RestController @RestController 用于标记Spring MVC中的控制器类,它将HTTP请求处理方法返回的对象自动转换为JSON/XML格式(通过@ResponseBody实现),专为构建RESTful API设计,省略了传统页面跳转的视图解析过程
@RequestMapping 用于将HTTP请求映射到控制器方法,支持定义URL路径、请求方法(GET/POST等)、请求参数等匹配规则。它是Spring MVC中最基础的路由注解,其他如@GetMapping等均为其衍生组合注解。 value/path:定义url路径映射
@PostMapping 是专门处理HTTP POST请求的快捷注解,结合了@RequestMapping(method = RequestMethod.POST)的功能。它简化了POST请求路由的定义,常用于表单提交或RESTful API中的资源创建操作,使代码更简洁易读
@RequestBody 能够将HTTP请求的正文内容自动映射到Java对象中,减少了手动解析数据的工作量。支持多种数据格式,如JSON、XML等,具体取决于项目中使用的序列化/反序列化库(如Jackson用于JSON)
@Autowired 自动将 Spring 容器中管理的 Bean 实例注入到需要使用的位置,减少了手动获取 Bean 引用的代码
@Service 用于定义一个类属于服务层(Business Logic Layer)
@Transactional 使用 @Transactional 标记的方法会在执行时被 Spring 包裹在一个事务中。如果方法执行成功,事务将被提交;如果发生异常,事务将被回滚。需要在启动类上加注解@EnableTransactionManagement开启注解方式的事务管理
@GetMapping 用于将 HTTP GET 请求映射到特定的处理方法中。它简化了代码,使得处理 GET 请求更加直观和方便。
@RequestParam 用于绑定 HTTP 请求参数到控制器方法参数的注解。它主要用于从 HTTP 请求中提取参数(如查询参数、表单参数等),并将其绑定到方法参数上,支持绑定单个参数、数组、集合等多种类型,满足不同场景的需求。
@DeleteMapping @DeleteMapping 是 Spring Framework 中用于处理 HTTP DELETE 请求的注解。它属于 Spring MVC 的一部分,主要用于将 DELETE 类型的 HTTP 请求映射到具体的控制器方法上,从而实现对资源的删除操作。
@PutMapping @PutMapping 是 Spring Framework 中用于处理 HTTP PUT 请求的核心注解。它是 @RequestMapping(method = RequestMethod.PUT) 的快捷方式,专门用于将 PUT 请求映射到特定的控制器方法。PUT 请求在 RESTful API 设计中主要用于更新或替换完整资源。
@Bean @Bean是Spring框架的核心注解,用于在Java配置类(@Configuration)中显式声明单个Bean的定义。它通过方法创建对象实例,并将返回值交由Spring容器管理
  • Controller类需要添加的注解:@RestController, @RequestMapping("路径")
  • Service实现类需要添加的注解:@Service

请求参数注解区分:

注解 作用 常用请求类型 示例
@RequestParam 获取 URL 查询参数或表单参数 GET/POST /user?id=1
@RequestBody 获取请求体中的 JSON/XML 数据 POST/PUT 请求体:{"name":"Tom"}
@PathVariable 获取 URL 路径中的动态参数 GET/DELETE /user/1
相关推荐
星火开发设计3 分钟前
C++ deque 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识
河码匠3 分钟前
Django rest framework 自定义url
后端·python·django
独自破碎E3 分钟前
什么是RabbitMQ中的死信队列?
java·rabbitmq·java-rabbitmq
码界奇点4 分钟前
基于Spring与Netty的分布式配置管理系统设计与实现
java·分布式·spring·毕业设计·源代码管理
计算机毕设指导65 分钟前
基于微信小程序的咖啡店点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
Geoking.5 分钟前
【设计模式】外观模式(Facade)详解
java·设计模式·外观模式
JaguarJack8 分钟前
2026 年 PHP 8.4 依然重要:跳到 8.5 之前你该掌握的特性
后端·php·服务端
程序员爱钓鱼9 分钟前
Node.js 博客系统实战(一):项目需求分析
前端·后端·node.js
BingoGo10 分钟前
2026 年 PHP 8.4 依然重要:跳到 8.5 之前你该掌握的特性
后端·php
闻道且行之10 分钟前
NLP 部署实操:Langchain-Chatchat 配置文件深度修改与精细化调试
java·自然语言处理·langchain