[ 持续更新 ] Sprint Boot 常用注解汇总

news/2025/2/19 4:38:32/

Sprint Boot 常用注解

请求与响应

@RequestMapping

可以给类或类的属性设置该注解,表示支持的所有 HTTP 请求方法,如 GETPOSTPATCHDELETE

如果给类设置,表示该路径的前缀。给方法设置,表示让这个方法支持所有的请求方式

@RestController
@RequestMapping("/user")
public class UserController {@RequestMappingpublic String user() {// 不管什么请求方式都可以触发该方法}
}

@RequestMapping 注解也可以通过 method 来指定请求方式,如下:

@RequestMapping(value="/user", method=RequestMethod.GET)
// 不过这样的话就没有什么意义了,因为它的简写是
@GetMapping("/user")
// 他们两种方式的结果是等价的

@RequestBody

默认参数传递方式为 x-www-form-urlencoded ,该注解主要用于将参数传递方式设置为 application/json 格式,这样就支持 JSON 格式数据作为参数传递了

@PostMapping
public Result add(@RequestBody User user) {return Result.success(UserService.add(user));
}

@PathVariable

该注解主要用于从 URL 路径中获取动态参数的值

代码示例

@GetMapping("/users/{uid}")
public <List<Course> get(@PathVariable("uid") Integer id){return null;
}

上述代码 {uid} 是一个变量,通过 @PathVariable 获取到它的值然后映射给参数 id 使用。

如果参数名与路径变量名一致,则可以省略括号中的内容 uid,如下:

public <List<Course> get(@PathVariable Integer uid)

数据

@Param

该注解用于映射

Mybatis

@Id

该注解用于在实体类中表示主键的字段

@Table

该注解用于在实体类总表示当前操作的数据表名

@Table(name = "tb_student")
public class Student {...}

@KeySql

使用该注解时,在执行插入操作后,数据库会生成一个自增的主键值,并将其返回给应用程序。然后将自动生成的主键值注入到对象的主键属性中。

通过注解 @KeySql(useGeneratedKeys = true),就可以获取到新增后的数据 id

@Column

该注解用于指定实体类中该成员变量所对应的数据库字段名

@Column(name = "s_id")
private Integer sid;

@Param

通过 @Param 注解,可以为 SQL 语句中的参数指定一个具体的名称,而不是使用默认的参数名称,从而避免名称冲突

@Mapper
public interface UserMapper {@Select("select * from user where id = #{id}")User getUserById(@Param("id") Integer uid);
}

@Transient

当某个属性或类被设置了该注解后,在持久化数据时会被忽略,不会保存到数据库中。

该注解通常用于临时存储数据,不让他保存到数据库中

@Transactional

该注解的作用是事务回滚,保证一组数据库操作要么全部成功执行,要么全部回滚到事务开始状态

JSON

@JsonFormat

该注解可以设置在类或属性上,如果传递的数据是时间格式的,则按照格式转换为指定的时间。否则保持原字符串数据

@JsonFormat(pattern = "yyy-MM-dd", timezone = "GMT+8")

如果该注解声明在类上,相当于给类的所有属性都设置了该注解

@JsonInclude

该注解默认为 ALWAYS 表示序列化全部字段,即使属性值为 null

如果设置为 NON_ABSENT 则表示过滤掉所有为空的属性值

@JsonInclude(JsonInclude.Include.NON_ABSENT)

http://www.ppmy.cn/news/1246593.html

相关文章

9.二维数组——打印出杨辉三角形(要求打印出10行)

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 打印出杨辉三角形&#xff08;要求打印出10行&#xff09;。 二、题目分析 三、解题 程序运行代码 #include<s…

第二十章——多线程

一.线程简介 线程的特点 1.进程是资源分配的最小单位&#xff0c;线程是最小的执行单位 2.一个进程可以有多个线程 3.线程共享进程资源 二.创建线程 1.继承Thread类 1.Thread类是java.lang包中的一个类&#xff0c;从这个类实例化的对象代表线程&#xff0c;程序员启动一…

YOLOv8优化策略:自适应改变核大小卷积AKConv,效果优于标准卷积核和DSConv |2023.11月最新成果

🚀🚀🚀本文改进: AKConv 中,通过新的坐标生成算法定义任意大小的卷积核的初始位置。 为了适应目标的变化,引入了偏移量来调整每个位置的样本形状。 此外,我们通过使用具有相同大小和不同初始采样形状的 AKConv 来探索神经网络的效果。 AKConv 通过不规则卷积运算完成…

独孤思维:立马能赚到钱的项目,要不要?

越是追求所谓的高端牛b的赚钱秘笈&#xff0c;越是过得一贫如洗&#xff1b; 越是不屑所谓的浅显易见的赚钱方法&#xff0c;越是活得狗都不如。 因为在穷人眼里&#xff1a; 只会把投机取巧&#xff0c;一夜暴富&#xff0c;偏门暴利&#xff0c;旁门左道&#xff0c;奉为秘…

Web前端开发技术:图像与多媒体文件

在现代的Web开发中&#xff0c;图像和多媒体文件在各种网站和应用程序中扮演着至关重要的角色。它们不仅能提供更丰富的内容&#xff0c;还能大大提高应用程序的吸引力和用户体验。本文将深入介绍一些关键的Web前端开发技术&#xff0c;这些技术将有助于开发者在处理图像和多媒…

文件服务器迁移

文件服务器迁移还是比较简单的 win server加域 导出配额文件 选中所有项&#xff0c;点击导出 导出共享文件夹权限列表 导出文件夹的权限表&#xff0c;留作备用。需要用到“icacls” icacls c:\windows\* /save aclfile /t # C:\Windows 目录及其子目录中所有文件的 DAC…

LeetCode算法题解(动态规划,股票买卖)|LeetCode121. 买卖股票的最佳时机、LeetCode122. 买卖股票的最佳时机 II

一、LeetCode121. 买卖股票的最佳时机 题目链接&#xff1a;121. 买卖股票的最佳时机 题目描述&#xff1a; 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一…

查看当前目录下文件数量

查看当前目录下文件数量 查看文件夹数量查看文件数查看所有文件&#xff08;包括子文件&#xff09;数量查看所有目录&#xff08;包括子目录&#xff09;数量查看图片数量 查看文件夹数量 ls -l | grep ^d | wc -l查看文件数 不包含文件夹 ls -l | grep ^- | wc -l查看所有…