文章目录
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 *一般查询(不需要传参)功能的接口使用。 *
版权归原作者 BUG忠实爱好者 所有, 如有侵权,请联系我们删除。