Java类 lombok、swagger、jackjson、JPA 注解详细解读

最近在项目里面用了很多注解,今天总结一下

1、lombok包里面的 可以节省很多get set代码

@Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法
@Getter/@Setter : 注解在类上, 为类提供读写属性
@ToString : 注解在类上, 为类提供 toString() 方法
@Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
@Accessors: 注解在类上,最常用的是提供链式set @Accessors(chain = true)
@EqualsAndHashCode callSuper=true让其生成的方法中调用父类的方法 @EqualsAndHashCode(callSuper=true)
详情 lombok 中的@Accessors注解用法

2、swagger包里面

@Api:用在类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源  @Api(tags = "用户API")
@ApiOperation:用在方法上,说明方法的作用,每一个url资源的定义@ApiOperation(value ="保存接口")
@ApiParam:方法参数 @ApiParam("新增用户") @RequestBody @Valid UserDto dto
@ApiModel:用在实体类上,描述实体类 (value = "上传文件VO")
@ApiModelProperty:描述一个model的属性,表示对model属性的说明或者数据操作更改 @ApiModelProperty(value = "保存路径", example = "")
详情:swagger注释API详细说明

3、jackjson

@JsonProperty :此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty("name")
@JsonIgnore此注解用于属性或者方法上(最好是属性上),用来完全忽略被注解的字段和方法对应的属性,即便这个字段或方法可以被自动检测到或者还有其
他的注解,一般标记在属性或者方法上,返回的json数据即不包含该属性。
@JsonIgnoreProperties此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
@JsonFormat此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式。
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@JsonInclude 属性值为null的不参与序列化 @JsonInclude(Include.NON_NULL)
详情:jackjson详细说明

4、javax.persistence

@Id:标注用于声明一个实体类的属性映射为数据库的主键列
@GeneratedValue:用于标注主键的生成策略,通过strategy 属性指定。
@Table: 表明实体类是数据库哪个类    
详情:JPA @Id 和 @GeneratedValue @Table注解说明  JPA使用指南 javax.persistence的注解配置讲解

 @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性. 如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic


 

发布了80 篇原创文章 · 获赞 140 · 访问量 64万+

猜你喜欢

转载自blog.csdn.net/linjpg/article/details/99870383
今日推荐