基于Swagger3.0的真实项目常用注解
创始人
2024-05-23 03:18:45
0

文章目录

        • entity层
        • mapper层
        • Service层
        • query层
        • VO层
        • Convert层
        • Controller层

entity层

作用在类上

@Schema(类和字段皆用) Swagger3.0提供的注解,用来描述类或字段。

@Data 提供类的get、set、equals、hashCode、toString等方法。

@AllArgsConstructor 提供类的全参构造。

@NoArgsConstructor 提供类的无参构造。

@TableName(value=“”) 当数据库名与实体类名不一致或不符合驼峰命名时,需要在此注解指定表名。

作用在字段上

@TableId 标识实体类的主键

@TableField 标识除主键以外的其他字段

mapper层

作用在类上

@Mapper 描述数据层接口的注解

Service层

作用在类上

@Service 标记当前类为Service类,将当前类自动注入到Spring容器中。

@RequiredArgsConstructor 自动装配,可以代替@Autowired注解,需要注意的是在注入时需要用final定义,或者使用@NotNull注解。

@Slf4j lombok插件的注解,可以使用log打印日志。

@EnableAsync 开启异步功能。

作用在方法上

@Transactional(rollbackFor=Exception.class) 事务注解,在@Transactional注解中如果不配置rollbackFor属性,那么事物只会在遇到RuntimeException的时候才会回滚,加上rollbackFor=Exception.class,可以让事物在遇到非运行时异常时也回滚。

@Async(“AsyncTaskPond-RMS”) 标注方法为异步方法。

注意

如下方式会使@Async失效

  • 异步方法使用static修饰
  • 异步类没有使用@Component注解(或其他注解)导致spring无法扫描到异步类
  • 异步方法不能与被调用的异步方法在同一个类中
  • 类中需要使用@Autowired或@Resource等注解自动注入,不能自己手动new对象
  • 如果使用SpringBoot框架必须在启动类中增加@EnableAsync注解

query层

作用在类上

@Data 提供类的get、set、equals、hashCode、toString等方法。

@EqualsAndHashCode(callSuper=false) 当我们用于对象属性比较的时候:只比较子类的属性,也就是讲:如果两个对象子类属性一致,父类属性不一致,在比较时候出现相同的结果,也就是返回的true。

@Schema(description=“”)(类和字段皆用)

VO层

作用在类上

@Data 提供类的get、set、equals、hashCode、toString等方法。

@Schema(类和字段皆用) Swagger3.0提供的注解,用来描述类或字段

作用在字段上

@NotBlank(message=“”) 用在String上面属性的注解,不能为null,而且调用trim()后,长度必须大于0.

@JsonProperty(access = JsonProperty.Access.WRITE_ONLY) 只在序列化时使用修改后的字段,一般用在用户模块的密码字段上。

@Size(min = 6, max = 11, message = “账号长度必须是6-11个字符”) 字段校验

@Range(min = 0, max = 2, message = “性别只能为 0:未知,1:男,2:女”) 字段校验

@Email(message=“”) 邮箱校验

@JsonFormat(pattern=DateUtils.DATE_TIME_PATTERN) 时间校验

Convert层

作用在类上

@Mapper 描述数据层接口的注解

Controller层

作用在类上

@RestController @RestController 是@Controller和@ResponseBody 的结合,@Controller标注该类为Controller层,@ResponseBody该类的方法返回的数据转换成Json格式。

@RequestMapping 地址映射。

@AllArgsConstructor 默认只要是该类下的字段,无论什么修饰,都会被参与构造,与@RequiredConstructor不同的是,@RequiredConstructor只构造了有final或者@no-null修饰的字段。

@Tag(name=“”) Swagger中的注解,对类进行说明。

作用在方法上

@PostMapping 前端需要传参时用,例如保存功能的接口。

@Operation(summary=“”) 接口描述。

@PreAuthorize(“hasAuthority(‘xxx’)”) 用来鉴别当前登录用户所拥有的角色是否有xxx权限访问该接口。

@PutMapping 一般修改功能的接口使用。

@DeleteMapping 一般删除功能的接口使用。

@GetMapping 一般查询(不需要传参)功能的接口使用。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...