同时使用@Data和@Builder导致无参构造丢失


解决同时使用@Data和@Builder导致无参构造丢失

场景

  • 单独使用@Data注解,生成无参数构造方法。

  • 单独使用@Builder注解,生成了全属性的构造方法。

  • @Data + @Builder注解:没有了默认的无参构造方法。即使手动添加无参数构造方法或者只用@NoArgsConstructor注解都会报错

两种解决方式

方式一: 直接在上加如下4个注解,简单粗暴

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MyLombok {
    ......
}    

方式二: 无参构造方法加上@Tolerate 注解

@Data
@Builder
public class MyLombok {

    @Tolerate
    MyLombok() {
    }
    
    ......
}