Intellij IDEA 安裝lombok及使用詳解

項目中經常使用bean,entity等類,絕大部分數據類類中都需要get、set、toString、equals和hashCode方法,雖然eclipse和idea開發環境下都有自動生成的快捷方式,但自動生成這些代碼后,如果bean中的屬性一旦有修改、刪除或增加時,需要重新生成或刪除get/set等方法,給代碼維護增加負擔。而使用了lombok則不一樣,使用了lombok的注解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之后,就不需要編寫或生成get/set等方法,很大程度上減少了代碼量,而且減少了代碼維護的負擔。故強烈建議項目中使用lombok,去掉bean中get、set、toString、equals和hashCode等方法的代碼。

1、實戰

1.安裝lombok插件:

具體流程如圖:

1.1

[圖片上傳中...(image-90777b-1510817091347-2)]

1.2

image

1.3

[圖片上傳中...(image-d16fa7-1510817091347-0)]

2.添加lombok的maven的pom.xml依賴:

<dependency>

        <groupId>org.projectlombok</groupId>

        <artifactId>lombok</artifactId>

        <version>1.16.10</version>

</dependency> 

3. 示例代碼Student.java

packagecom.lombok.demo;

importlombok.EqualsAndHashCode;

importlombok.Getter;

importlombok.Setter;

importlombok.ToString;

/**

* Created by lance on 2017/2/8.

*/

@Setter

@Getter

@ToString

@EqualsAndHashCode

publicclassStudent {

privateString name;

privateintage;

privateString male;

privateString studentNo;

}

4. 測試類LombokTest.java

packagecom.lombok.demo;

importlombok.extern.java.Log;

/**

* Created by lance on 2017/2/8.

*/

@Log

publicclassLombokTest {

publicstaticvoidmain(String[] args) {

Student student =newStudent();

student.setAge(27);

student.setMale("man");

student.setName("lance");

student.setStudentNo("2017");

System.out.println(student.toString());

Student student2 =newStudent();

student2.setAge(27);

student2.setMale("man");

student2.setName("lance");

student2.setStudentNo("2017");

System.out.println(student.equals(student2));

student2.setStudentNo("2018");

System.out.println(student.equals(student2));

log.info("lombok test");

}

}

5. 輸出結果:

Student(name=lance, age=27, male=man, studentNo=2017)

true

false

lombok test

結果分析,如果沒有添加@Setter注解,則LombokTest中的student示例無法使用setAge()等方法。使用lombok之后,省去了許多沒必要的get,set,toString,equals,hashCode代碼,簡化了代碼編寫,減少了代碼量。

另外@Data注解的作用相當于 @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode的合集。

另外@Log 省去了在LombokTest中添加 getLogger的如下代碼:

private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());

看,簡單吧!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 從三月份找實習到現在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發崗...
    時芥藍閱讀 42,374評論 11 349
  • 對于 POJO, 我們需要為其中的每個字段生成 getter,setter 方法, 雖然能夠使用 IDE 快速為我...
    jnil閱讀 9,267評論 0 8
  • 雖然還是不像,但繼續加油
    _西客閱讀 144評論 0 1
  • 雙十一,特別的一天,大學的學校不賣啤酒,笑源爬過天橋出校門,這次的青島比上次的雪花貴。 每一天都有無數人脫單,更有...
    笑源閱讀 372評論 2 1