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
相关推荐
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
红尘散仙3 小时前
我把终端小说阅读器接上了 AI Agent:TRNovel 现在能用 skill 生成书源了
人工智能·后端·rust
来杯@Java4 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
卷毛的技术笔记4 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥4 小时前
匿名函数 lambda + 高阶函数
java·python·算法
会编程的土豆5 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木5 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
adrninistrat0r5 小时前
Java调用链MCP分析工具
java·python·ai编程
喵个咪5 小时前
GoWind Toolkit Go后端代码生成 完整全流程实战
后端·go·orm
噜噜噜阿鲁~5 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言