IntelliJ IDEA 使用 lombok 減小冗長代碼

對於 POJO, 咱們須要爲其中的每一個字段生成 getter,setter 方法, 雖然可以使用 IDE 快速爲咱們生成. 但若是須要修改字段名稱及字段類型, 那麼就須要刪除在從新進行生成, 終究仍是有一些不方便. 若是使用 lombok, 能夠經過一些簡單的註解直接生成咱們所須要的代碼, 能極大的提升開發體驗.java

  1. pom引入依賴數組

    <dependency>
           <groupId>org.projectlombok</groupId>
           <artifactId>lombok</artifactId>
           <optional>true</optional>
      </dependency>
  2. idea下載插件微信

  3. lombok 經常使用註解介紹ide

    • @NonNull : 使用 @NonNull 註解修飾的字段 經過 set 方法設置時若是爲 null, 將拋出 NullPointerException
    • @Cleanup : 主要用來修飾 IO 流相關類, 會在 finally 代碼塊中對該資源進行 close();
    • @Getter,@Setter : 爲字段生成 getter,setter 方法, 標記到類上代表爲全部字段生成
    • @ToString : 生成 toString 方法, 默認打印全部非靜態字段
    • @EqualsAndHashCode : 生成 equals 和 hashCode 方法
    • @NoArgsConstructor : 無參構造函數
    • @RequiredArgsConstructor : 爲未初始化的 final 字段和使用 @NonNull 標註的字段生成構造函數
    • @AllArgsConstructor : 爲全部字段生成構造函數
    • @Data : 至關於同時使@Getter,@Setter,@ToString,@EqualsAndHashCode,@RequiredArgsConstructor
    • @Value : 類將使用 final 進行修飾,同時使用@ToString,@EqualsAndHashCode,@AllArgsConstructor,@Getter
    • @Builder : 建立一個靜態內部類, 使用該類可使用鏈式調用建立對象 如 User 對象中存在 name,age 字段, User user=User.builder().name("姓名").age(20).build()
    • @SneakyThrows : 對標註的方法進行 try catch 後拋出異常, 可在 value 輸入須要 catch 的異常數組, 默認 catch Throwable
    • @Synchronized : 在標註的方法內 使用 synchronized($lock) {} 對代碼進行包裹 ,$lock 爲 new Object[0]
    • @Log,@CommonsLog,@JBossLog,@Log,@Log4j,@Log4j2,@Slf4j,@XSlf4j : 生成一個當前類的日誌對象, 可使用 topic 指定要獲取的日誌名稱,使用log...使用
  4. 自定義配置函數

    雖然 lombok 能爲咱們快速生成代碼, 可是有一些生成的代碼依然沒法知足咱們的需求. 此時可配置 lombok.config 來解決問題ui

    如下列出一些經常使用的配置idea

    lombok.getter.noIsPrefix=true(默認: false)  #lombok 默認對 boolean 類型字段生成的 get 方法使用 is 前綴, 經過此配置則使用 get 前綴
      lombok.accessors.chain=true(默認: false) #默認的 set 方法返回 void 設置爲 true 返回調用對象自己
      lombok.accessors.fluent=true(默認: false) #若是設置爲 true. get,set 方法將不帶 get,set 前綴, 直接以字段名爲方法名
      lombok.log.fieldName=logger(默認: log) #設置 log 類註解返回的字段名稱

注 : 在 IDEA 中,lombok.config 文件 請放置於 src\main\java 目錄下, 在 src\main\resources 中將不生效.net

如感受文章對你有所幫助,能夠關注微信公衆號【五彩的顏色】鼓勵一下 插件

相關文章
相關標籤/搜索