@Builder导致无参构造丢失

编程教程 > Java (8) 2025-04-01 15:18:38

概要说明

在Lombok中,单独使用@Data 和@Builder会导致无参构造丢失。

问题解析:

  • 单独使用@Data注解,是会生成无参构造方法的
  • 单独使用@Builder注解,发现生成了全参数构造(无参构造丢失)

    @Builder导致无参构造丢失_图示-fe4a9dc48df643e8a2d774e896889858.png
    全参数构造方法(idea快捷键 CTRL+F12)
  • 两个注解一起使用同样会导致无参构造丢失

    @Builder导致无参构造丢失_图示-7f11d6993fac4114b6685c4fb39e6aff.png
  • 两个注解再加一个独立的无参构造注解,这时候@Builder注解报错

    @Builder导致无参构造丢失_图示-37c3f0cfb47d4bf78199200a9835f2bf.png

解决办法:一

直接使用4个注解

@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class Student {
    String name;
    int age;
    String address;
}

解决办法:二

手写一个无参构造

@Data
@Builder
public class Student {

    public Student(){

    }
    String name;
    int age;
    String address;

    public static void main(String[] args) {
        Student student  = new Student();
    }
}

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
概要说明在Lombok中,单独使用@Data 和@Builder会导致无参构造丢失。问题解析:单独使用@Data注解,是会生成无参构造方法的单独使用@Build
Lombok插件安装@Data和@Getter与@Setter都是lombok插件的注解,用于简单对象的增强编译实现。maven pom引入文件<depende
概述Java简单对象使用了@Data注解,前端请求报错:JSON parse error: Cannot construct instance of `com.
首先了解下Retrofit.Builder得作用,Retrofit.Builder类使用Builder API来定义HTTP操作的URL端点,最后构建一个新R
spring validate 验证List集合演示用类User/Addressimport lombok.Data; import javax.validation.constraint...
spring data redis设置缓存的过期时间,spring data redis更新缓存的过期时间
创建maven项目添加依赖方便开发,添加一些开发工具依赖,比如 lombok Swing UI开发创建Hello UI在src/main/java/包名下有件菜
Spring data-mongodb ID自增长注解实现,mongodb ID自增长
通过之前的一些文章spring boot 2.3 hibernate validate框架未引入-xqlee (blog.xqlee.com)Spring boot 参数分组校验-xqlee (...
Java编程中使用spring boot1.5.2框架整合spring data mongodb10.1,来使用mongodb数据库
问题Caused by: java.sql.BatchUpdateException: Data truncation: Incorrect datetime value: '1955-05-0...
概述Timer/ScheduledThreadPoolExecutor都是是JDK提供的api Timer Demoimport lombok.extern.s
从Spring 6和Spring Boot 3开始,Spring framework支持将远程HTTP服务代理为带有HTTP交换注解方法的Java接口。类似的库,如OpenFeign和Retro...
mybatis plus 逻辑删除使用说明全局逻辑值配置,application.properties# 逻辑已删除值(默认为 1) mybatis-plus.global-config.db...
前言引用之前的例子《Vert.x 4 Web REST CRUD接口应用》项目作为基础进行修改,创建一个自定义异常和异常拦截处理器。以实现对指定异常返回特殊数据