lombok几个基本注解的使用@Data@NoArgsConstructor@Builder

lombok是一款在java开发中简洁化代码十分有用的插件工具,这篇博客对较为常用的几种注解进行记录,分享学习心得。

使用lombok注解,目的和作用就在于不用再去写经常反复去写的(如 Getter,Setter,Constructor
等)一些代码了。

首先,用到的几个注解:

@Data

使用这个注解,就不用再去手写 Getter,Setter,equals,canEqual,hasCode,toString
等方法了,注解后在编译时会自动加进去。

@AllArgsConstructor

使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数

@NoArgsConstructor

使用后创建一个无参构造函数

@Builder

关于Builder较为复杂一些,Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数的麻烦,在设计模式中的思想是:用一个内部类去实例化一个对象,避免一个类出现过多构造函数。

代码应用

package com.example.test
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * @author kaiyi
 * @version 1.0
 **/
@Data
@NoArgsConstructor
public class OrderListRequest extends BaseRequest {

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @NotNull(message = "开始时间为空")
    private LocalDateTime updateTimeBegin;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @NotNull(message = "结束时间为空")
    private LocalDateTime updateTimeEnd;

    @Min(value = 1,message = "页码数不能小于1")
    @NotNull(message = "页码为空")
    private Integer page;

    @Min(value = 1,message = "单页条数不能小于1")
    @Max(value = 50,message = "单页条数不能大于50")
    @NotNull(message = "单页数量为空")
    private Integer pageSize;

    @NotNull(message = "订单状态为空")
    private OrderStatus orderStatus;
   
}

原文 

https://segmentfault.com/a/1190000023308901

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » lombok几个基本注解的使用@Data@NoArgsConstructor@Builder

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址