5,@NoArgsConstructor
注解在类上,为类提供一个无参的构造方法。
注意:
当类中有 final 字段没有被初始化时,编译器会报错,此时可用 @NoArgsConstructor(force = true),然后就会为没有初始化的 final 字段设置默认值 0 / false / null。
对于具有约束的字段(例如 @NonNull 字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。
// 使用注解
@NoArgsConstructor
public class Shape {
private int x;
@NonNull
private double y;
@NonNull
private String name;
}
// 不使用注解
public class Shape {
private int x;
private double y;
private String name;
public Shape(){
}
}
6,@AllArgsConstructor
(1)注解在类上,为类提供一个全参的构造方法。
(2)默认生成的方法是 public 的,如果要修改方法修饰符可以设置 AccessLevel 的值。
例如:@Getter(access = AccessLevel.PROTECTED)
// 使用注解
@AllArgsConstructor(access = AccessLevel.PROTECTED)
public class Shape {
private int x;
@NonNull
private double y;
@NonNull
private String name;
}
// 不使用注解
public class Shape {
private int x;
private double y;
private String name;
protected Shape(int x, double y, String name){
this.x = x;
this.y = y;
this.name = name;
}
}
在实体类的编写过程中,常常需要应用大量的get、set方法,需要写大量的重复代码,即有的工具有自动生成功能,当时也会使实体类中产生大量冗余代码,使得代码变,springboot为我们提供了相应注解可以解决这类问题----@Data
1、@Data可以为类提供读写功能,从而不用写get、set方法。
2、他还会为类提供 equals()、hashCode()、toString() 方法。
## 使用方法--一下仅提供idea的使用方法
1、下安装lombok插件

2、重启idea
3、在maven库中添加依赖
org.projectlombok
lombok
1.16.10
4、在实体类上添加@Data注解即可生效