@Data
注解是 Lombok 提供的一个组合注解,它会为类自动生成一些常见方法的样板代码,包括 getter、setter、equals、hashCode 和 toString 方法。
引入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
使用说明
假设我们有一个简单的 Java 类 Person
,使用 @Data
注解可以简化代码编写,如下所示:
@Data
public class Person {
private String name;
private int age;
}
在上面的例子中,我们使用了 @Data
注解来修饰 Person
类。此时,Lombok 将会自动为 Person
类生成以下方法:
- Getter 和 Setter 方法:
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
equals()
、hashCode()
和toString
方法:
@Override
public boolean equals(Object obj) {
// 自动生成的 equals 方法实现
}
@Override
public int hashCode() {
// 自动生成的 hashCode 方法实现
}
@Override
public String toString() {
return "Person(name=" + this.name + ", age=" + this.age + ")";
}
通过使用 @Data
注解,我们避免了手动编写这些常见的方法,使代码更加简洁和易于维护。