天天看點

Lombok - Builder為什麼不讓new?如果想用new怎麼辦?

分享知識 傳遞快樂

對象上加上 @Builder,會預設為類加上全參構造函數,且提供以建造器模式構造對象的方法。但此時因為顯示聲明了構造器,預設的無參構造器就失效了,就不能通過 new Obj() 的方式建立對象。

于是乎就會想到加 @NoArgsConstructor 注解生成無參構造函數以便使用 new Obj() 方式建立對象,很多架構中都需要反射調用無參構造函數。

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class UserEntity {

    private Long id;
    private String name;
    private int age;
}      

繼續閱讀