@Data
注解是 Lombok 中的一个重要注解之一,它用于自动生成类的标准数据方法。
@Data 注解
@Data
是 Lombok 库提供的一个注解,它用于在 Java 类上自动生成常用的数据方法。这些数据方法包括 getter 和 setter 方法、equals 和 hashCode 方法、以及有参和无参构造函数。
源码如下:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Data {
String staticConstructor() default "";
}
作用
@Data
注解的主要作用是减少 Java 类中的样板代码。通过使用 @Data
注解,可以使类变得更加简洁,同时提高代码的可读性和维护性。
注解属性
@Data
注解没有提供太多可配置的属性,因为它旨在生成一组标准的数据方法。
不过,它支持以下几个属性:
staticConstructor
:指定一个静态工厂方法的名称,用于创建对象的实例。默认为空字符串,表示不生成静态工厂方法。
用法
使用 @Data
注解非常简单,只需在你的 Java 类上添加这个注解即可。以下是一个示例:
import lombok.Data;
@Data
public class Person {
private String name;
private int age;
}
在这个示例中,@Data
注解被添加到了 Person
类上,Lombok 会自动生成 getName
、 setName
、 getAge
、 setAge
、 equals
、 hashCode
以及构造函数等方法。
总结
总之,@Data
注解是 Lombok 库中用于自动生成常用数据方法的一个强大工具,通过简化 Java 类的编写,提高了代码的可读性和维护性。它适用于需要大量数据访问方法的 POJO 类。