问题描述
创建User类时,添加了@Data注解和User的构造方法
import lombok.Data;
@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
    public User(Long id, String name, Integer age, String email) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.email = email;
    }
}
但是之后创建User对象时,发现使用无参构造方法时报错
 
@Data注解介绍
@Data 主要功能是:丰富java自动资源管理,自动生成getter、setter、equals、hashCode和toString等等
 以及另外两个注解
 @AllArgsConstructor  : 注解在类上,有参构造
 @NoArgsConstructor : 注解在类上,无参构造
不生效原因
自定义了一个有参数的构造方法,并且没有显式地定义无参构造方法,@Data 生成的无参构造方法被有参数的构造方法覆盖了。
解决方法
再显式地定义一个无参构造方法
public User() {
}



















