1. 程式人生 > >非常好用的外掛之IntelliJ IDEA lombok外掛的安裝和使用

非常好用的外掛之IntelliJ IDEA lombok外掛的安裝和使用

一、lombok的介紹

     lombok是開源的程式碼生成庫,是一款非常實用的小工具,我們在編輯實體類時可以通過lombok註解減少getter、setter等方法的編寫,在更改實體類時只需要修改屬性即可,減少了很多重複程式碼的編寫工作。
     此外掛需要下載、安裝、配置,使用起來雖然方便但是需要記住幾個常用註解,下面會介紹。

二、lombox的安裝

     因為本人用的是idea,所以在此只演示在idea上面的安裝。
     idea其實是自帶lombox外掛的,可以聯網進行下載,注意網路一定要好

。不然會下載失敗切記
1.1 開啟File–>Settings,或者使用快捷鍵Ctrl+Alt+S進入設定頁面。左側選擇Plugins(外掛),右側點選Browse repositories…,
在這裡插入圖片描述
1.2 進入外掛安裝頁面。。。。
在這裡插入圖片描述
1.3 此時,網路好的話可以順利下載,不好的話,需要反覆操作,或是開流量吧。。。
在這裡插入圖片描述
1.4 你以為到這裡就完成了嗎?高興的太早了,他還有一個非常重要的步驟。就是。。。啟用註釋處理,這步不做的話,lombox還是不能用,你說氣人不。具體為什麼要這樣做,我也不太記得了,如果哪位大神知道,還請留言告知。說是放開編譯許可權之類的。。。
在這裡插入圖片描述

三、lombox的依賴配置

因為我用的是gradle,所以在build.gradle檔案中新增依賴。

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
    implementation('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2')
    runtimeOnly('mysql:mysql-connector-java')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
    //orika  依賴 
    compile('ma.glasnost.orika:orika-core:1.5.1')
    //lombox依賴
    compile('org.projectlombok:lombok:1.16.16')
}

四、lombox的使用

二話不說上程式碼更清晰。。。。。
用lombox之前,每次get、set方法都要很多行,雖然也有快捷鍵生成,但是程式碼看起來也不是很清爽。

public class UserA {
    private String  name;
    private int   age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

但是有了lombox之後。。。。。只需要一個@Data註釋,就問你給力不?

@Data
public class UserA {
    private String  name;
    private int   age;
}

雖然看不到,但是lombox已經幫我們生成了。。。
在這裡插入圖片描述

五、lombox註釋的使用(這些都是摘抄的,因為大同小異)

  • @Data:註解在類上,將類提供的所有屬性都新增get、set方法,並新增、equals、canEquals、hashCode、toString方法
  • @Setter:註解在類上,為所有屬性新增set方法、註解在屬性上為該屬性提供set方法
  • @Getter:註解在類上,為所有的屬性新增get方法、註解在屬性上為該屬性提供get方法
  • @NotNull:在引數中使用時,如果呼叫時傳了null值,就會丟擲空指標異常
  • @Synchronized 用於方法,可以鎖定指定的物件,如果不指定,則預設建立一個物件鎖定
  • @Log作用於類,建立一個log屬性
  • @Builder:使用builder模式建立物件
  • @NoArgsConstructor:建立一個無參建構函式
  • @AllArgsConstructor:建立一個全參建構函式
  • @ToStirng:建立一個toString方法
  • @Accessors(chain = true)使用鏈式設定屬性,set方法返回的是this物件。
  • @RequiredArgsConstructor:建立物件
  • @UtilityClass:工具類
  • @ExtensionMethod:設定父類
  • @FieldDefaults:設定屬性的使用範圍,如private、public等,也可以設定屬性是否被final修飾。
  • @Cleanup: 關閉流、連線點。
  • @EqualsAndHashCode:重寫equals和hashcode方法。
  • @toString:建立toString方法。