java @Lombok 使java代碼變的簡潔、快速

說明

官網地址
全是英文看不懂?簡而言之Lombok,能夠在項目中使用註解,爲你省去所有諸如:對象的構造函數、 equals()方法,屬性的 get()/set()方法等等,這些沒有技術含量的代碼統統都不用寫了,Lombok幫你搞定一切,全部幫你自動生成!

使用Lombok的時候,IDE可能會出現報錯,格式不規範。這時候就需要安裝Lombok插件。一般最新的idea都會自動或提示你安裝。

那麼我們開始使用!

1.pom

點擊這裏,在中央倉庫選擇自己喜歡的版本!

2.註解

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class User {

    private String id;

    private String realName;

    private String gender;

    private String age;

    private String email;

    private String address;

    private String nickName;

    private String password;

    private String account;

}

(1)@Data

@Data註解在類上,會爲類的所有屬性自動生成setter/getter、equals、canEqual、hashCode、toString方法,如爲final屬性,則不會爲該屬性生成setter方法。

(2)@Getter/@Setter

@Getter/@Setter註解類可爲可以爲相應的屬性自動生成Getter/Setter方法

(3)@NonNull

該註解用在屬性或構造器上,Lombok會生成一個非空的聲明,可用於校驗參數,能幫助避免空指針。

    @NotNull
    private String id;

    public User(@NotNull String id) {
        this.id = id;
    }

(4)@Cleanup

該註解能幫助我們自動調用close()方法,很大的簡化了代碼。

        @Cleanup FileInputStream inputStream = new FileInputStream("/asas/sasa/as");
        @Cleanup FileOutputStream outputStream = new FileOutputStream("/sasa/sa/ds");

(5)@EqualsAndHashCode

默認情況下,會使用所有非靜態(non-static)和非瞬態(non-transient)屬性來生成equals和hasCode,也能通過exclude註解來排除一些屬性。

(6)@ToString

使用@ToString註解,Lombok會生成一個toString()方法,默認情況下,會輸出類名、所有屬性(會按照屬性定義順序),用逗號來分割。通過將includeFieldNames參數設爲true,就能明確的輸出toString()屬性

(7)@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

無參構造器、部分參數構造器、全參構造器。Lombok沒法實現多種參數構造器的重載。

(8)@Builder

User user = User.builder().age("22").account("asdfasd").gender("asdfasf").build();

(9)@SneakyThrows

隱式拋出異常

    @Test
    @SneakyThrows
    public void test() {
        User user = User.builder().age("22").account("asdfasd").gender("asdfasf").build();
        @Cleanup FileInputStream inputStream = new FileInputStream("/asas/sasa/as");
        @Cleanup FileOutputStream outputStream = new FileOutputStream("/sasa/sa/ds");
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章