成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

好用的 Lombok 注解

開發
Lombok 的配置非常簡單,Lombok 提供了 Maven 和 Gradle 的依賴項,你可以根據需要選擇使用。

配置

Lombok 的配置非常簡單。Lombok 提供了 Maven 和 Gradle 的依賴項,你可以根據需要選擇使用。

(1) Maven:

在你的pom.xml中添加以下依賴:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.34</version>
    <scope>provided</scope>
</dependency>

(2) Gradle:

在你的build.gradle中添加以下依賴:

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.34'
    annotationProcessor 'org.projectlombok:lombok:1.18.34'
}

@Builder

建造者模式是開發中非常常見的設計模式。它允許我們逐步構建對象,并對其配置進行細粒度控制,同時保持構造代碼的簡潔。

在沒有 Lombok 的情況下,代碼通常如下所示:

public class Order {
    privatefinal String customerName;
    privatefinal Address deliveryAddress;

    private Order(String customerName, Address deliveryAddress) {
        this.customerName = customerName;
        this.deliveryAddress = deliveryAddress;
    }

    public static OrderBuilder builder() {
        returnnew OrderBuilder();
    }

    publicstaticclass OrderBuilder {
        private String customerName;
        private Address deliveryAddress;

        OrderBuilder(){};

        public Builder customerName(String name) {
            this.customerName = name;
            returnthis;
        }

        public Builder deliveryAddress(Address address) {
            this.deliveryAddress = address;
            returnthis;
        }

        public Order build() {
            returnnew Order(customerName, deliveryAddress);
        }
    }
}

使用 Lombok 的實現:

@Builder
public class Order {
    private final String customerName;
    private final Address deliveryAddress;
}

這是一個非常簡單的例子,但實際上還有很多其他注解可以定制建造者設計模式。我將在下一篇文章中介紹它們。

@Data

這個注解將一些常見的 Lombok 注解結合在一起:

  • @ToString
  • @Getter
  • @Setter
  • @EqualsAndHashCode
  • @RequiredArgsConstructor

沒有 Lombok 的示例:

public class UserInfo {
    private String username;
    private String password;
    private String email;

    public UserInfo(String username, String password, String email) {
        this.username = username;
        this.password = password;
        this.email = email;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public boolean equals(Object o) {
        // 一些實現
    }

    @Override
    public int hashCode() {
        return Objects.hash(username, password, email);
    }

    @Override
    public String toString() {
        return"UserInfo(" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", email='" + email + '\'' +
                ')';
    }
}

使用 Lombok 的實現:

@Data
public class UserInfo {
    private String username;
    private String password;
    private String email;
}

@Value

如果我們希望所有字段默認都是私有的且不可變的(沒有 setter 方法),可以使用@Value 注解,如下所示:


@Value
public class UserInfo {
    private String username;
    private String password;
    private String email;
}

@NonNull

這個注解用于為任何方法或構造函數參數生成空值檢查語句。

public void setEmail(@NonNull String email) {
    this.email = email;
}
責任編輯:趙寧寧 來源: 程序猿技術充電站
相關推薦

2022-04-15 08:30:00

Lombok@Builde構建器

2025-04-18 04:22:00

2025-05-13 00:00:02

IntelliJIDEALombok

2025-03-25 10:49:13

2023-02-03 08:21:55

2020-10-30 07:09:52

Lombok架構師

2016-10-12 13:37:09

LombokIDEidea

2024-06-04 00:00:02

實用插件IDEA

2023-11-02 07:18:51

JavaLombok

2019-06-26 09:20:38

Java工具Lombok

2024-04-30 10:08:00

Lombok開發字段

2023-10-23 08:00:00

JavaLombok開發

2025-03-06 08:21:02

判空entity對象

2021-12-30 12:30:01

Java注解編譯器

2019-11-27 10:05:00

LombokJava編程

2011-03-23 17:21:42

2015-07-16 14:51:13

下載助手斷點續傳多任務

2022-12-09 09:46:55

插件Lombok

2022-08-11 17:14:37

Java

2024-01-11 13:21:53

開發代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女视频h | 国产精品美女久久久久久不卡 | 国产视频日韩 | 中文字幕一区二区三区不卡 | 免费在线观看成人av | 日本免费网 | 免费观看成人av | 国产人成精品一区二区三 | 一色桃子av一区二区 | 亚洲成人激情在线观看 | 密室大逃脱第六季大神版在线观看 | 天天干天天操天天爽 | 日韩一区二区在线视频 | 国产区在线 | 日本视频免费 | 99精品99 | 日日操网站 | 亚洲精品乱码久久久久久按摩观 | 日韩免费高清视频 | 免费黄色的视频 | 亚洲国产欧美91 | 色伊人| 隔壁老王国产在线精品 | 国产精品国产精品国产专区不蜜 | 97色在线观看免费视频 | 久久青| 久草成人 | 亚洲一区 | 欧美99久久精品乱码影视 | 欧美一级欧美一级在线播放 | 人人人干 | 97av在线| 国产亚洲欧美另类一区二区三区 | 欧美精品中文字幕久久二区 | 国产精品1区2区 | 国产成人精品一区二区三 | 久久一久久 | 夜夜爽99久久国产综合精品女不卡 | av在线黄 | 日韩中文字幕视频在线观看 | 久久久国产一区二区三区 |