@Data注解
·
@Data 注解是 Lombok 库提供的一个便捷注解,用于简化 Java 类的代码编写工作。Lombok 是一个 Java 库,它通过注解的方式自动为类生成常规的 getter、setter、equals、hashCode 和 toString 方法,从而减少了模板代码的编写工作。
一、什么是 Lombok?
Lombok 是一个 Java 库,它通过使用注解来减少 Java 代码中的样板代码。Lombok 会在编译时自动生成这些代码,而不是在源码中直接编写。这意味着你在编写 Java 类时,可以省略大量的 getter、setter、构造函数等方法的实现。
二、注解作用
@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法。
三、注解用法
引入lombok
要使用 @Data 注解要先引入lombok,lombok是什么,它是一个工具类库,可以用简单的注解形式来简化代码,提高开发效率。
- 在maven中添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
<version>1.18.4</version>
</dependency>
- 直接在相应的实体类上加上@Data注解即可;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private String name;
private String address;
private Integer age;
private String hobbit;
private String phone;
}
自动生成相关的方法:

四、常用的几个注解
- @Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法。
- @AllArgsConstructor : 注在类上,提供类的全参构造。
- @NoArgsConstructor : 注在类上,提供类的无参构造。
- @Setter : 注在属性上,提供 set 方法。
- @Getter : 注在属性上,提供 get 方法。
- @EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法。
- @Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log。
五、注意事项
1.IDE 配置
确保你的 IDE 已经正确配置了 Lombok 插件,否则可能会出现无法识别 Lombok 注解的情况。
2.编译器支持
确保编译器支持 Lombok,例如在 Maven 或 Gradle 中添加 -parameters 参数以支持参数名称可见性。
3.不可变对象
如果你希望创建不可变的对象,可以使用 @Value 注解而不是 @Data 注解。
4.性能考虑
虽然 Lombok 使得代码更加简洁,但在某些性能敏感的场景下,手动编写 getter 和 setter 可能会更有优势
更多推荐

所有评论(0)