实体类中 @Builder @NoArgsConstructor @AllArgsConstructor的作用
时间: 2023-11-18 09:54:09 浏览: 88
@Builder注解是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数的麻烦。它的作用之一是用一个内部类去实例化一个对象,避免一个类出现过多构造函数。@NoArgsConstructor注解用来创建一个无参构造函数,@AllArgsConstructor注解用来添加一个构造函数,该构造函数含有所有已声明字段属性参数。这些注解可以让我们更方便地创建实体类对象,同时也减少了代码量。
相关问题
@AllArgsConstructor @NoArgsConstructor @Builder
这是Java语言中的注解,用于简化代码中的实体类的构造函数的编写。@AllArgsConstructor 会生成一个包含所有参数的构造函数,@NoArgsConstructor 会生成一个无参的构造函数,@Builder会生成一个Builder模式的构造函数,可以方便地链式调用和设置实体类的属性。这样可以大大简化代码的编写和维护。
若依框架@Builder
引用[1]中提到,当我们在实体类中使用了@Builder注解时,会生成GET/SET方法,但是无参构造方法会被省略。这可能会导致一些问题,因为很多框架在创建对象时会调用无参构造方法。如果我们直接使用new Student来创建对象,就会报错或者抛出异常。[1]
为了解决这个问题,可以使用@Builder注解结合@AllArgsConstructor和@NoArgsConstructor注解来生成有参构造方法和无参构造方法。具体做法是在实体类上同时添加这三个注解。例如:
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Student {
private Integer id;
private String name;
private String sex;
}
这样,就可以通过@Builder注解来创建Student对象,同时也保留了无参构造方法供框架使用。[2]
另外,@Builder注解的使用方法是在类上添加该注解,它可以帮助我们简化创建对象的过程。例如,引用[3]中的代码片段展示了如何使用@Builder注解来创建Mother对象。[3]
阅读全文