0


基于Swagger3.0的真实项目常用注解

文章目录

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 *一般查询(不需要传参)功能的接口使用。 *

标签: spring java spring boot

本文转载自: https://blog.csdn.net/m0_57082679/article/details/128853800
版权归原作者 BUG忠实爱好者 所有, 如有侵权,请联系我们删除。

“基于Swagger3.0的真实项目常用注解”的评论:

还没有评论