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

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.mzph.cn/news/178628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【浅尝C++】C++类的6大默认成员函数——构造、析构及拷贝构造函数

&#x1f388;归属专栏&#xff1a;浅尝C &#x1f697;个人主页&#xff1a;Jammingpro &#x1f41f;记录一句&#xff1a;好想摆烂&#xff0c;又好想学习~~ 文章前言&#xff1a;本篇文章简要介绍C类的构造函数、析构函数及拷贝构造函数&#xff0c;介绍每个小点时&#xf…

【Linux专题】http(s)代理

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读444次。风和日丽&#xff0c;小微给你送福利~如果你是小微的老粉&#xff0c;这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

【objectarx.net】table问题2:添加table后,保存时出错

添加table后&#xff0c;保存时出现以上对话框。 原因&#xff1a; tb.TableStyle db.Tablestyle; 对于这句代码&#xff0c;tb所在的数据库和db不是同一个。

java反射和注解3-仿照retrofit组装接口参数

本片文章将用反射和注解仿照retrofit只需要传入一个带有给定注解的接口&#xff0c;通过调用接口就能直接将传入的数据和注解进行结合&#xff0c;生成对应参数 1&#xff0c;自定义注解 对字段的修饰 Retention(RetentionPolicy.RUNTIME) Target(ElementType.PARAMETER) pu…

window配置完hosts电脑重启后莫名被还原

window配置完hosts电脑重启后莫名被还原 问题描述 之前用的好好的&#xff0c;这周开始出现问题。头天配置好的hosts&#xff0c;第二天开机后访问地址都是无法打开&#xff0c;后来发现是昨天hosts的配置都被还原了。原本电脑不关机&#xff0c;可是这几天电脑也总重启&…

Win7 SP1 x64 安装 Python 出错解决方法

1 双击安装 python-3.7.9.exe &#xff0c;提示出错&#xff0c;log.file 显示需要 KB2533623&#xff0c;但在Microsoft Update Catalog 没有搜到&#xff0c;实验 KB4474419 也可以。 2 Microsoft Update Catalog 搜索 KB4474419 &#xff0c;选择 x64 位&#xff0c;下载&am…

Cache学习(4):Cache分配策略Cache更新策略Cache逐出策略

Cache的数据流 常用名词 Allocation 分配Eviction 驱逐分配策略和更新策略分别为当产生Cache miss和Cache hit的时候数据流的具体行为 1 Cache分配策略&#xff08;Cache Allocation Policy&#xff09; Cache的分配策略是指不同情况下为数据分配Cache Line的不同行为。Cac…

基本数据结构二叉树(3)

目录 4.二叉树链式结构的操作 4.1 前置说明 4.2二叉树的遍历 4.2.1 前序、中序以及后序遍历 4.3 节点个数以及高度等 4.二叉树链式结构的操作 4.1 前置说明 由于博主对二叉树的结果掌握还不够深入&#xff0c;因此在讲解相关操作前将手动创建一颗简单的二叉树&#xff0c…

金字塔原理 读书笔记

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言第1篇 表达的逻辑第1章 为什么要用金字塔结构归类分组&#xff0c;将思想组织成金字塔自上而下表达&#xff0c;结论先行自下而上思考&#xff0c;总结概括 第2…

Unity 接入TapADN播放广告时闪退 LZ4JavaSafeCompressor

通过跟踪安卓日志&#xff0c;发现报如下错误 Didnt find class "com.tapadn.lz4.LZ4JavaSafeCompressor" 解决方案&#xff1a; 去掉Minify这边的勾选&#xff0c;再打包即可。

trino push down fliter

依据trino 432 版本而写 1. 调用链 2. 先是元数据&#xff0c;然后做扫描数据层的filter pushFilterIntoTableScan

数据导入与预处理-第7章-数据清理工具OpenRefine

文章目录 数据清理工具OpenRefineOpenRefine简介下载与安装配置创建项目操作列收起列移动列和重排列移除该列与移除列重新定义列标题撤销与重做导出数据 进阶操作数据排序数据归类重复检测数据填充文本过滤数据转换 总结 数据清理工具OpenRefine OpenRefine简介 OpenRefine是…

【论文阅读】【基于隐蔽带宽的汽车控制网络鲁棒认证】中的一些顶会论文摘要

读摘要&#xff0c;了解面貌 文章目录 [12][51][58][35][xx] 原文&#xff1a;https://webofscience.clarivate.cn/wos/alldb/full-record/WOS:000387820900034 Large numbers of smart connected devices, also named as the Internet of Things (IoT), are permeating our en…

深度学习之基于百度飞桨PaddleOCR图像字符检测识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介主要特点使用步骤 二、功能三、系统四. 总结 一项目简介 # Introduction to PaddleOCR Image Character Detection and Recognition System Based on Baidu…

享元模式-C++实现

享元模式&#xff08;FlyWeight Pattern&#xff09;是一种结构型设计模式&#xff0c;旨在减少对象创建的数量&#xff0c;节省内存和提高性能。 在某些情况下&#xff0c;一个项目里可能需要创建大量相似的对象&#xff0c;这样对象的一部分是共享的&#xff08;相同的&…

Java基础-中级-高级面试题汇(一)

第一部分&#xff1a; Java基础面试题汇总 1.面向对象和面向过程的区别&#xff1f; 面向对象和面向过程是两种不同的编程思想。面向对象是一种以对象为中心的编程思想&#xff0c;将数据和处理数据的方法封装在一起&#xff0c;形成一个类。程序通过创建对象来调用类中的方法…

静态住宅IP代理实际应用:它的强大用途你知道吗?

静态住宅IP代理与动态IP代理相比&#xff0c;提供了更稳定的网络身份&#xff0c;使得企业在进行数据采集、区域定位营销和市场研究时更为高效。同时&#xff0c;它也是提高在线隐私保护和避免封禁的有效工具。 通过详细分析&#xff0c;你将能全面了解静态住宅IP代理的应用&a…

SAP_ABAP_编程基础_字符转换_内存表、jsonString 相互转换

SAP ABAP 顾问&#xff08;开发工程师&#xff09;能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读441次。目标&#xff1a;基于对SAP abap 顾问能力模型的梳理&#xff0c;给一年左右经验的abaper 快速成长为三年经验提供超级燃料&#xff01;https://blog.csdn.net/j…

【力扣:1707 1803】0-1字典树

思路&#xff1a;树上每个节点存储拥有该节点的数组元素的最小值&#xff0c;left节点表示0&#xff0c;right节点表示1&#xff0c;构建完成后遍历树当子节点没有比mi小的元素时直接输出-1&#xff0c;否则向下构造。 struct tree{int m;tree*leftnullptr,*rightnullptr;tree…

【传智杯】儒略历、评委打分、萝卜数据库题解

&#x1f34e; 博客主页&#xff1a;&#x1f319;披星戴月的贾维斯 &#x1f34e; 欢迎关注&#xff1a;&#x1f44d;点赞&#x1f343;收藏&#x1f525;留言 &#x1f347;系列专栏&#xff1a;&#x1f319; 蓝桥杯 &#x1f319;请不要相信胜利就像山坡上的蒲公英一样唾手…