小辣椒神器Lombok(小辣椒player)
咱們Java程序員在開(kāi)發(fā)的時(shí)候,有大量簡(jiǎn)單的POJO類(lèi),但是這類(lèi)寫(xiě)出來(lái)大量的getter,setter會(huì)導(dǎo)致代碼太過(guò)冗長(zhǎng),我們總是想,是否有更優(yōu)雅的方式來(lái)解決這個(gè)問(wèn)題,其實(shí)一直以來(lái),都有一款神器可以幫助我們解決這個(gè)問(wèn)題,就是馬上要給大家介紹的Lombok(又稱(chēng)小辣椒)!
我們先來(lái)看一下官方的解釋(如下):
Lombok 是一種 Java 實(shí)用工具,可用來(lái)幫助開(kāi)發(fā)人員消除 Java 的冗長(zhǎng),尤其是對(duì)于簡(jiǎn)單的 Java 對(duì)象(POJO)。它通過(guò)注釋實(shí)現(xiàn)這一目的。通過(guò)在開(kāi)發(fā)環(huán)境中實(shí)現(xiàn) Lombok,開(kāi)發(fā)人員可以節(jié)省構(gòu)建諸如 hashCode() 和 equals() 這樣的方法以及以往用來(lái)分類(lèi)各種 accessor 和 mutator 的大量時(shí)間。
這個(gè)插件在Eclipse與idea中都是有相應(yīng)的插件支持的。現(xiàn)在我們來(lái)進(jìn)行安裝并使用:
第一步,安裝Lombok
1.1 進(jìn)入設(shè)置頁(yè)面
1.2 在插件中搜索安裝Lombok
完成后記住重啟idea
第二步, 測(cè)試是否成功
新建Maven項(xiàng)目(如果不是Maven項(xiàng)目,需要自己導(dǎo)入jar包)
2.1 pom.xml
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
<scope>provided</scope>
</dependency>
2.2 創(chuàng)建domain,添加注解
package cn.itsource.domain;
import lombok.Getter;
import lombok.Setter;
public class Employee {
@Getter
@Setter
private Long id;
@Getter
@Setter
private String name;
@Getter
@Setter
private Integer age;
}
2.3效果測(cè)試
大家可以看到,剛我們?cè)谧侄紊霞由蟝etter,setter注解的時(shí)候,使用相應(yīng)的對(duì)象就可以直接使用相應(yīng)的方法。不過(guò)在字段上打注解大家如果還是覺(jué)得麻煩,沒(méi)有關(guān)系,我們可以在類(lèi)上打上標(biāo)簽,也可以完成相應(yīng)的功能!
這樣的話,那么這個(gè)類(lèi)的所有屬性都會(huì)加上相應(yīng)的getter,setter方法。
Lombok除了我介紹的這個(gè)標(biāo)簽外,還有一個(gè)會(huì)經(jīng)常使用的標(biāo)簽@Builder,@ToString,可以為我們自動(dòng)生成相應(yīng)的構(gòu)造器與構(gòu)造方式。
我們就可以直接使用下面的方法進(jìn)行對(duì)象構(gòu)造,代碼如下: