Java 注解系统@Data @Builder @NoArgsConstructor @AllArgsConstructor

一、简介

@NoArgsConstructor:自动生成无参构造方法。
@AllArgsConstructor:自动生成全参构造方法。
@Data:结合了 @Getter、@Setter、@ToString、@EqualsAndHashCode 的功能,简化了实体类的编写。

@Builder:自动生成一个建造者模式相关的代码,使得对象的构建更加简洁和易读。

二、@AllArgsConstructor

@AllArgsConstructor 是 Lombok 提供的一个注解,用于自动生成一个包含所有参数的构造函数

简化构造函数的编写:通常情况下,Java 类中需要手动编写构造函数来初始化类的实例变量

使用 @AllArgsConstructor 注解可以自动生成一个包含所有实例变量的构造函数,减少编码量

使用方法

1、引入依赖:在项目的依赖中加入 Lombok 库

2、在类上添加注解:在需要使用该注解的类上添加 @AllArgsConstructor 注解

import lombok.AllArgsConstructor;

@AllArgsConstructor
public class MyClass {
    private String field1;
    private int field2;
    private double field3;
}

生成的构造函数如下:

public MyClass(String field1, int field2, double field3) {
    this.field1 = field1;
    this.field2 = field2;
    this.field3 = field3;
}

三、@Builder

@Builder 注解是 Lombok 提供的一种注解,用于简化构建对象的过程。通过在类上添加 @Builder 注解,可以自动生成一个建造者模式相关的代码,使得对象的构建更加简洁和易读。

注释示例:

@Builder
public class Person {
    private String name;
    private int age;
    private String address;
}

在上述示例中,Person 类被标记为 @Builder 注解,Lombok 会自动生成一个内部静态类 PersonBuilder,其中包含了构建 Person 对象所需的方法。我们可以使用生成的建造者模式来创建 Person 对象,如下所示:

Person person = Person.builder()
                      .name("张三")
                      .age(25)
                      .address("北京")
                      .build();

通过使用 @Builder 注解,我们不再需要手动编写繁琐的构造器或者使用多个 setter 方法来设置属性值,而是通过链式调用建造者模式中的方法进行对象的构建。

 

posted @ 2025-04-10 15:36  都是城市惹的祸  阅读(19)  评论(0)    收藏  举报