Spring Boot 整合 Lombok 讓程式碼更簡潔

芋道原始碼發表於2019-02-16

點選上方“芋道原始碼”,選擇“設為星標

做積極的人,而不是積極廢人!

原始碼精品專欄

 

來源:http://t.cn/EcCcsOW

  • lombok的威力

  • IntelliJ IDEA安裝lombok外掛

  • Spring Boot專案中使用lombok

  • 其它簡化程式碼的特性介紹

    • 推薦用法


lombok的威力

640?wx_fmt=other
簡化程式碼

IntelliJ IDEA安裝lombok外掛

1.選單欄 File > Settings > Plugins > Browse repositories…

640?wx_fmt=other
安裝外掛

2.搜尋 Lombok Plugin 安裝後,重啟IDEA即可生效

640?wx_fmt=other
安裝lombok

Spring Boot專案中使用lombok

1.新增lombok依賴

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.16.10</version>
</dependency>

2.編寫一個實體類 User,使用@Data註解

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

3.編寫測試方法,測試@Data的作用

@Test
public void testUser(){
  User user = new User();
  user.setName("AnyCode");
  user.setAge(20);
  System.err.println(user.toString());
}
640?wx_fmt=other
自動生產方法

其它簡化程式碼的特性介紹

val : 最終區域性變數
@NonNull : 讓你不在擔憂並且愛上NullPointerException
@CleanUp : 自動資源管理:不用再在finally中新增資源的close方法
@Setter/@Getter : 自動生成set和get方法
@ToString : 自動生成toString方法
@EqualsAndHashcode : 從物件的欄位中生成hashCode和equals的實現
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
自動生成構造方法
@Data : 自動生成set/get方法,toString方法,equals方法,hashCode方法,不帶引數的構造方法
@Value : 用於註解final類
@Builder : 產生複雜的構建器api類
@SneakyThrows : 異常處理(謹慎使用)
@Synchronized : 同步方法安全的轉化
@Getter(lazy=true) :
@Log : 支援各種logger物件,使用時用對應的註解,如:@Log4j

推薦用法

1、在 Bean / Entity 類上使用 @Data 註解。
2、需要使用 Log 物件的地方使用 @Log4j(依專案日誌框架決定)。

注意:lombok 的註解不能被繼承。




歡迎加入我的知識星球,一起探討架構,交流原始碼。加入方式,長按下方二維碼噢

640?wx_fmt=jpeg

已在知識星球更新原始碼解析如下:

640?wx_fmt=png

640?

640?wx_fmt=png

如果你喜歡這篇文章,喜歡,轉發。

生活很美好,明天見(。・ω・。)ノ♡

相關文章