lombok幾個基本註解的使用@Data@NoArgsConstructor@Builder

lombok是一款在java開發中簡潔化代碼十分有用的插件工具,這篇博客對較爲經常使用的幾種註解進行記錄,分享學習心得。

使用lombok註解,目的和做用就在於不用再去寫常常反覆去寫的(如Getter,Setter,Constructor等)一些代碼了。java

首先,用到的幾個註解:設計模式

@Data

使用這個註解,就不用再去手寫Getter,Setter,equals,canEqual,hasCode,toString等方法了,註解後在編譯時會自動加進去。函數

@AllArgsConstructor

使用後添加一個構造函數,該構造函數含有全部已聲明字段屬性參數工具

@NoArgsConstructor

使用後建立一個無參構造函數學習

@Builder

關於Builder較爲複雜一些,Builder的做用之一是爲了解決在某個類有不少構造函數的狀況,也省去寫不少構造函數的麻煩,在設計模式中的思想是:用一個內部類去實例化一個對象,避免一個類出現過多構造函數。ui

代碼應用

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;
   
}
相關文章
相關標籤/搜索