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;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。