当前位置: 首页 > news >正文

SpringBoot注解大总结

Controller层注解

@GetMapping("")

 接受get请求执行注解下的方法(get/delete 请求参数一般拼接到url后面)也可以使用请求体但要规范不能使用请求体

@RequestBody

1.从http中读请求体中的数据 ,底层是HttpServletRequest 获取

2.自动把JSON字符串映射成java中的对象

 @Post/pub

post/pub 请求参数一般放在请求体里面,且以JSON格式进行传输(post插入请求使用)

@RequestMapping("/depts")

 Target->类上/方法上

类上->提取controller中的一个重复的路径

方法上->定义该接口的请求方法,被对应Mapping,PostMapping替代了

@Controller

把一个普通类变成一个servlet 

@RestController

组合注解由@Controller和@ResponseBody组合而成

把一个普通的controller类标记为一个servlet 

@Get/DeleteMapping

 以kv键值对的方式接受请求,也可以用请求体但不建议使用

@ResponseBody

响应把java对象转换成JSON对象 

@RequestParam

1.根据指定的k,获取Http URL中的值 value/name属性

2.可以指定是否必传参数,如果指定必传,前端没传响应的参数->400 required

3.给参数指定默认值 defaultValue默认值属性

@PathVariable

 作用:获取URI路径以/分割的路径变量   列:/{id} 。通过kv值传参和通过/传参在一个项目中尽量只使用一个规范一点

@Validated

添加此注解启动spring-boot-starter-validation数据校验 ,添加在接受前端形参的括号中

DAO层注解

@JsonFormat()

@JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss")作用:格式化时间,放在需要被格式化的实体类变量上

 @DateTimeFormat

把请求的字符串时间转换成指定的格式@DateTimeFormat(pattern="yyyy年MM月dd"),前端传空也没问题SpringBoot会判空

@JsonIgnore

加在属性上 springboot 对象转JSON的时候自动忽略掉该值

@JsonIgnoreProperties

加在类上,指定多个需要忽略掉转JSON的属性,值就填属性名就行 

@JsonInclude

根据条件决定是否转JSON(使用:属性是null就不转JSON)

@Param("")

给sql绑定值 

 @Repository

@Repository springboot 提供用来标记DAO层和@Mapper没有区别 (加在类上)

 @NotNull

判空注解spring-boot-starter-validation 加载实体类属性上

 @Length

 判断字符串长度 spring-boot-starter-validation min max设置范围

 @Pattern

设置正则表达式spring-boot-starter-validation regexp设置 

Service层注解

@Service

标记此类为service层注入bean

@Transactional

 自动开启事务,提交事务并且回滚事务,SpringBoot默认RuntimeException才会回滚解决方法就是扩大异常范围(可以加在方法或类上,尽量不要加在类上)

@Transactional(rollbackFor = Exception.class)

其他||共用注解

@SpringBootTest

专门用来初始化springboot环境,进行单元测试 ,在test目录进行单元测试

@Resource

属性注入优先使用@Resource
默认按照Bean名字从容器中获取
默认的springBean名字时类对应的小驼峰

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 关于Spring Boot的自动配置
  • 《Unity3D网络游戏实战》通用服务器框架
  • Unity动画模块 之 3D模型导入基础设置 Materials
  • 从【人工智能】到【计算机视觉】,【深度学习】引领的未来科技创新与变革
  • 【PostgreSQL003】PostgreSQL数据表空间膨胀,磁盘爆满,应用宕机(经验总结,已更新)
  • vue项目实现postcss-pxtoremvue大屏适配
  • 【运维】在 CentOS 7 中修改 `http_proxy` 设置
  • 从0-1开发一个Vue3前端系统页面-9.博客页面布局
  • 8月18日笔记
  • 访客管理系统 - 在线版 识别身份证文字信息
  • Android -- 谷歌地图绘制
  • MySQL数据库专栏(四)数据库操作
  • 汽车IVI中控OS Linux driver开发实操(二十四):I2C设备驱动的编写
  • Token Compensator:无需重新微调即可改变视觉Transformer的推理成本
  • C++中类和对象(2)
  • 【译】JS基础算法脚本:字符串结尾
  • 0基础学习移动端适配
  • 2018一半小结一波
  • Java,console输出实时的转向GUI textbox
  • java8 Stream Pipelines 浅析
  • MySQL的数据类型
  • Otto开发初探——微服务依赖管理新利器
  • spark本地环境的搭建到运行第一个spark程序
  • 浮动相关
  • 算法-图和图算法
  • 小程序 setData 学问多
  • 写代码的正确姿势
  • AI算硅基生命吗,为什么?
  • FaaS 的简单实践
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • # centos7下FFmpeg环境部署记录
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #微信小程序:微信小程序常见的配置传旨
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (23)Linux的软硬连接
  • (26)4.7 字符函数和字符串函数
  • (C语言)字符分类函数
  • (编译到47%失败)to be deleted
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)计算机毕业设计ssm电影分享网站
  • (南京观海微电子)——I3C协议介绍
  • (四)c52学习之旅-流水LED灯
  • .Mobi域名介绍
  • .net Application的目录
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core Swagger 过滤部分Api
  • .net连接MySQL的方法
  • @AliasFor注解
  • @NestedConfigurationProperty 注解用法
  • @ResponseBody
  • @SuppressWarnings(unchecked)代码的作用
  • [ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2019-6116