最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Lombok插件安裝(IDEA)及配置jar包使用詳解

 更新時間:2020年11月04日 10:24:38   作者:Hern(宋兆恒)  
這篇文章主要介紹了Lombok插件安裝(IDEA)及配置jar包使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

點擊進(jìn)入Lombok官網(wǎng)下載Lombok jar包

使用Lombok可能需要注意的地方

(1)、當(dāng)你的IDE是Idea時,要注意你的Idea是支持Lombok的,如果不支持請更換高版本嘗試(這里采用2018 3.3)。

(2)、在使用Lombok時,你的編輯器可能會報錯,這時請在你的IDE中安裝Lombok插件(如果使用的Idea則直接搜索Lombok插件,選擇星級最高的,直接安裝就是,其他Ide類同)。

(3)、參數(shù)的處理往往都是根據(jù)項目需求來進(jìn)行,請妥善處理參數(shù)。

(4)、如果你無法訪問Lombok官網(wǎng),你可以從這篇博文中將Maven坐標(biāo)照著自己打進(jìn)去,或者你也可以訪問Maven的中央倉庫搜索Lombok,將Maven坐標(biāo)復(fù)制進(jìn)去即可。

1、Lombok簡介

Lombok能以簡單的注解形式來簡化java代碼,提高開發(fā)人員的開發(fā)效率。例如開發(fā)中經(jīng)常需要寫的javabean,都需要花時間去添加相應(yīng)的getter/setter,也許還要去寫構(gòu)造器、equals等方法,而且需要維護(hù),當(dāng)屬性多時會出現(xiàn)大量的getter/setter方法,這些顯得很冗長也沒有太多技術(shù)含量,一旦修改屬性,就容易出現(xiàn)忘記修改對應(yīng)方法的失誤。

Lombok能通過注解的方式,在編譯時自動為屬性生成構(gòu)造器、getter/setter、equals、hashcode、toString等方法。出現(xiàn)的神奇就是在源碼中沒有g(shù)etter和setter方法,但是在編譯生成的字節(jié)碼文件中有g(shù)etter和setter方法。這樣就省去了手動重建這些代碼的麻煩,使代碼看起來更簡潔些。

使用Lombok的原因:

根據(jù)Lombok的使用規(guī)則,如果想要使用Lombok就需要刪除在項目中(JavaBean)存在的已經(jīng)生成的getter方法setter方法以及equals和hash方法,當(dāng)然Lombok也提供了對打印日志的處理。這樣在使用Lombok以后就會大大減少項目中的代碼量,同時由于Lombok有自動修改的功能,這也提供了項目中代碼的執(zhí)行效率。

綜上所述,使用Lombok的兩點主要原因就是:

(1)、簡化冗余的JavaBean代碼。

(2)、大大提高JavaBean中方法的執(zhí)行效率。

2、IDEA中安裝Lombok插件

選擇【File】-> 【Settings】->【Plugins】 –> 輸入Lombok,按回車鍵進(jìn)行搜索,單擊【Install】進(jìn)行安裝,安裝完成后點擊【Apply】和【OK】,然后重啟IDEA即可安裝成功。

注意:在重啟前建議勾選結(jié)開啟【Annotation Processors】下的【Enable annotation processing】(Ctrl+Shift+A鍵,輸入Annotation Processors回車搜索即可找到該選項)。

3、使用LomBok

在Lombok的官網(wǎng)有一個install選項,我們點開它會看到多種安裝方式,可以根據(jù)自己的項目需求來選擇使用哪種方式,這里以Maven為例:

點擊Maven會看到一組坐標(biāo):

根據(jù)它的提示我們將這一組坐標(biāo)添加到我們的pom文件中:

<dependencies>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.18.4</version>
		<scope>provided</scope>
	</dependency>
</dependencies>

添加進(jìn)去以后點擊import change,等待Idea把jar包下載完就可以在項目中使用了。

4、Lombok常用注解詳解

@Data注解:在JavaBean或類JavaBean中使用,這個注解包含范圍最廣,它包含getter、setter、NoArgsConstructor注解,即當(dāng)使用當(dāng)前注解時,會自動生成包含的所有方法;

@getter注解:在JavaBean或類JavaBean中使用,使用此注解會生成對應(yīng)的getter方法;

@setter注解:在JavaBean或類JavaBean中使用,使用此注解會生成對應(yīng)的setter方法;

@NoArgsConstructor注解:在JavaBean或類JavaBean中使用,使用此注解會生成對應(yīng)的無參構(gòu)造方法;

@AllArgsConstructor注解:在JavaBean或類JavaBean中使用,使用此注解會生成對應(yīng)的有參構(gòu)造方法;

@ToString注解:在JavaBean或類JavaBean中使用,使用此注解會自動重寫對應(yīng)的toStirng方法;

@EqualsAndHashCode注解:在JavaBean或類JavaBean中使用,使用此注解會自動重寫對應(yīng)的equals方法和hashCode方法;

@Slf4j:在需要打印日志的類中使用,當(dāng)項目中使用了slf4j打印日志框架時使用該注解,會簡化日志的打印流程,只需調(diào)用info方法即可;

@Log4j:在需要打印日志的類中使用,當(dāng)項目中使用了log4j打印日志框架時使用該注解,會簡化日志的打印流程,只需調(diào)用info方法即可;

在使用以上注解需要處理參數(shù)時,處理方法如下(以@ToString注解為例,其他注解同@ToString注解):

@ToString(exclude="column")

意義:排除column列所對應(yīng)的元素,即在生成toString方法時不包含column參數(shù);

@ToString(exclude={"column1","column2"})

意義:排除多個column列所對應(yīng)的元素,其中間用英文狀態(tài)下的逗號進(jìn)行分割,即在生成toString方法時不包含多個column參數(shù);

@ToString(of="column")

意義:只生成包含column列所對應(yīng)的元素的參數(shù)的toString方法,即在生成toString方法時只包含column參數(shù);;

@ToString(of={"column1","column2"})

意義:只生成包含多個column列所對應(yīng)的元素的參數(shù)的toString方法,其中間用英文狀態(tài)下的逗號進(jìn)行分割,即在生成toString方法時只包含多個column參數(shù);

5、示例代碼(僅簡單舉一個使用例子)

不使用Lombok(傳統(tǒng)方法)

package com.user;

public class UserInfo {

  private String userid;
  private String username;
  private String userpass;
  private String userphone;
  private String useremail;
  private String usercard;
  private String useraddress;

  @Override
  public String toString() {
    return "UserInfo{" +
        "userid='" + userid + '\'' +
        ", username='" + username + '\'' +
        ", userpass='" + userpass + '\'' +
        ", userphone='" + userphone + '\'' +
        ", useremail='" + useremail + '\'' +
        ", usercard='" + usercard + '\'' +
        ", useraddress='" + useraddress + '\'' +
        '}';
  }

  public String getUserid() {
    return userid;
  }

  public void setUserid(String userid) {
    this.userid = userid;
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  public String getUserpass() {
    return userpass;
  }

  public void setUserpass(String userpass) {
    this.userpass = userpass;
  }

  public String getUserphone() {
    return userphone;
  }

  public void setUserphone(String userphone) {
    this.userphone = userphone;
  }

  public String getUseremail() {
    return useremail;
  }

  public void setUseremail(String useremail) {
    this.useremail = useremail;
  }

  public String getUsercard() {
    return usercard;
  }

  public void setUsercard(String usercard) {
    this.usercard = usercard;
  }

  public String getUseraddress() {
    return useraddress;
  }

  public void setUseraddress(String useraddress) {
    this.useraddress = useraddress;
  }

}

使用Lombok

package com.user;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class UserInfo {

  private String userid;
  private String username;
  private String userpass;
  private String userphone;
  private String useremail;
  private String usercard;
  private String useraddress;

}

只給單個參數(shù)添加

package com.user;

import lombok.Getter;
import lombok.Setter;

public class UserInfo {

  @Getter@Setter private String userid;
  private String username;
  private String userpass;
  private String userphone;
  private String useremail;
  private String usercard;
  private String useraddress;

}

到此這篇關(guān)于Lombok插件安裝(IDEA)及配置jar包使用詳解的文章就介紹到這了,更多相關(guān)Lombok插件安裝使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python面向?qū)ο缶幊讨惖倪\算

    Python面向?qū)ο缶幊讨惖倪\算

    這篇文章主要介紹了Python面向?qū)ο缶幊讨惖倪\算,運算即Operation是操作邏輯的抽象,運算體現(xiàn)一種操作邏輯,在廣義角度來說任何程序都是一種運算,接下來看看文章具體內(nèi)容及各種舉例說明,希望對你有所幫助
    2021-11-11
  • python爬蟲基本知識

    python爬蟲基本知識

    最近在做一個項目,這個項目需要使用網(wǎng)絡(luò)爬蟲從特定網(wǎng)站上爬取數(shù)據(jù),于是乎,我打算寫一個爬蟲系列的文章,與大家分享如何編寫一個爬蟲。下面這篇文章給大家介紹了python爬蟲基本知識,感興趣的朋友一起看看吧
    2018-03-03
  • Python GUI之tkinter窗口視窗教程大集合(推薦)

    Python GUI之tkinter窗口視窗教程大集合(推薦)

    這篇文章主要介紹了Python GUI之tkinter窗口視窗教程大集合,看這一篇教程足了,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Python類多重繼承方式

    Python類多重繼承方式

    這篇文章主要介紹了Python類多重繼承方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python 棧實現(xiàn)的幾種方式及優(yōu)劣詳解

    Python 棧實現(xiàn)的幾種方式及優(yōu)劣詳解

    這篇文章主要為大家介紹了Python 棧實現(xiàn)的幾種方式及優(yōu)劣詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 一文帶你探索Python中的eventlet通信機(jī)制

    一文帶你探索Python中的eventlet通信機(jī)制

    這篇文章主要為大家詳細(xì)介紹了Python中的eventlet通信機(jī)制的相關(guān)知識,文中的示例代碼講解詳細(xì),對我們深入了解Python有一定幫助,需要的可以參考一下
    2023-06-06
  • Python通過socketserver處理多個鏈接

    Python通過socketserver處理多個鏈接

    這篇文章主要介紹了Python通過socketserver處理多個鏈接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python實現(xiàn)的遠(yuǎn)程登錄windows系統(tǒng)功能示例

    Python實現(xiàn)的遠(yuǎn)程登錄windows系統(tǒng)功能示例

    這篇文章主要介紹了Python實現(xiàn)的遠(yuǎn)程登錄windows系統(tǒng)功能,結(jié)合實例形式分析了Python基于wmi模塊的遠(yuǎn)程連接與進(jìn)程操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-06-06
  • django 認(rèn)證類配置實現(xiàn)

    django 認(rèn)證類配置實現(xiàn)

    本文主要介紹了django 認(rèn)證類配置實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • python3中利用filter函數(shù)輸出小于某個數(shù)的所有回文數(shù)實例

    python3中利用filter函數(shù)輸出小于某個數(shù)的所有回文數(shù)實例

    今天小編就為大家分享一篇 python3中利用filter函數(shù)輸出小于某個數(shù)的所有回文數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論

安仁县| 孙吴县| 芜湖市| 宣武区| 蛟河市| 鄂伦春自治旗| 巴南区| 清远市| 连城县| 响水县| 绥德县| 宜阳县| 丽水市| 普格县| 隆化县| 奉新县| 马关县| 陵川县| 淮阳县| 开阳县| 沙湾县| 灌云县| 信丰县| 龙门县| 武鸣县| 田阳县| 措勤县| 乐至县| 元阳县| 龙井市| 宁海县| 盖州市| 呼图壁县| 尤溪县| 九江市| 新泰市| 无为县| 乌拉特后旗| 雅江县| 凤山市| 英德市|