1. 程式人生 > >Lombok : 快速構建JavaBean與日誌輸出

Lombok : 快速構建JavaBean與日誌輸出

概述:

我們在寫基類JavaBean時,當定義了成員變數後,我們不得不新增構造器,setter/getter方法以及toString方法,雖然eclipse等開發工具有一鍵生成策略,但是對我們來說仍覺得繁瑣,並且當我們在對該類進行新增或者刪除成員變數操作時,我們又得人為的去增添或刪除setter/getter方法,此等重複操作大大地刺激到了正處於開發崩潰邊緣的程式設計師,因此,lombok應運而生,幫我們解決了“懶”的問題。


以前的JavaBean是這樣的:


現在的JavaBean是這樣的



使用Lombok前的準備操作:

  ①新增maven依賴,或者到官網下載對應jar包 

https://projectlombok.org/download

       <dependency>  

            <groupId>org.projectlombok</groupId>  
            <artifactId>lombok</artifactId>  
            <version>1.16.16</version>  
        </dependency>  

  ②為eclipse等工具安裝好外掛

        <1>將lombok.jar移到eclipse的安裝目錄 

        

         <2>在eclipse.in檔案最後加入下面一行-javaagent:D:\install\jee-oxygen\eclipse\lombok.jar

         <3>重啟eclipse

操作指南:

構造器,日誌等註解必須標註在類上,setter/getter等方法標註在類上時,作用在所有成員變數上,當標註在成員變數上時,只有該變數起作用。

註解的具體作用:

@NoArgsConstructor //空參構造器

@AllArgsConstructor //全參構造器

@Data //set,get,toString等方法

@Accessors(chain=true)  //鏈式風格訪問,new Dept().setName("cmj").setDeptno(1000L).setDb_source("db01");

那麼問題來了,當我們需要在getter方法中進行操作時,如當年齡欄位為null時,我需要返回給我一個數字20,這我們該怎麼辦呢?

其實lombok還是很給力的,當註解和getter等方法有衝突時,該變數的註解將失去作用,其作用的將是我們自定義的方法。



@Slf4j

標註在類上,相當於private  final Logger logger = LoggerFactory.getLogger(XXX.class);