Lombok : 快速構建JavaBean與日誌輸出
概述:
我們在寫基類JavaBean時,當定義了成員變數後,我們不得不新增構造器,setter/getter方法以及toString方法,雖然eclipse等開發工具有一鍵生成策略,但是對我們來說仍覺得繁瑣,並且當我們在對該類進行新增或者刪除成員變數操作時,我們又得人為的去增添或刪除setter/getter方法,此等重複操作大大地刺激到了正處於開發崩潰邊緣的程式設計師,因此,lombok應運而生,幫我們解決了“懶”的問題。
以前的JavaBean是這樣的:
現在的JavaBean是這樣的
使用Lombok前的準備操作:
①新增maven依賴,或者到官網下載對應jar包
<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);