首先domain的Studnet类和StudentVO类如下,可以看到字段是完全一致的。其中@Data注解是lombok的表示含义如下,而@AllArgsConstructor则是提供所有参数的有参构造。
时间: 2024-10-07 19:03:53 浏览: 42
在Java编程中,`@Data` 和 `@AllArgsConstructor` 是两个Lombok库提供的便利注解,它们简化了类的创建。
`@Data` 是一个模型类生成工具,它会自动生成类的默认无参构造函数、equals()、hashCode()、toString() 和 getters/setters 方法。当你在一个类上添加这个注解时,Lombok会在编译期间为该类生成这些常用的方法,提高代码的简洁性和易读性。
`@AllArgsConstructor` 则是一个构造函数生成工具,它会为类创建一个接受所有属性值的构造函数。当你在一个类上加上这个注解,Lombok会自动创建一个只接受类中所有字段作为参数的新构造函数,这对于需要初始化所有字段的对象特别有用,无需手动编写每个属性对应的构造参数。
例如:
```java
import lombok.Data;
import lombok.NoArgsConstructor; // 如果没有字段初始值,可以使用@NoArgsConstructor
@Data // 自动创建getters, setters, toString, equals, hashCode
@NoArgsConstructor // 如果所有字段都有默认值,可以省略@Data后面的@NoArgsConstructor
@AllArgsConstructor // 创建一个接受所有参数的构造函数
public class Student {
private String name;
private int age;
private String major;
}
public class StudentVO {
@Data
@AllArgsConstructor
public class VO {
private String name;
private int age;
private String major;
}
}
```
在这个例子中,`Student` 和 `StudentVO` 类的内部类 `VO` 完全一致,由于使用了Lombok,使得创建和操作实例变得更为方便。
阅读全文