中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

蚌埠網(wǎng)站制作哪家好推廣資源網(wǎng)

蚌埠網(wǎng)站制作哪家好,推廣資源網(wǎng),wordpress圖文簡(jiǎn)介文章頁(yè),二道網(wǎng)站建設(shè)目錄 前言1. 基本知識(shí)2. 代碼應(yīng)用 前言 在項(xiàng)目中經(jīng)常會(huì)看到lombok的應(yīng)用,此文作為科普帖,詳細(xì)介紹lombok 1. 基本知識(shí) 簡(jiǎn)介: Project Lombok是一款用于Java開(kāi)發(fā)的工具,旨在通過(guò)自動(dòng)生成樣板代碼來(lái)簡(jiǎn)化Java代碼的編寫(xiě)。 它通過(guò)注…

目錄

  • 前言
  • 1. 基本知識(shí)
  • 2. 代碼應(yīng)用

前言

在項(xiàng)目中經(jīng)常會(huì)看到lombok的應(yīng)用,此文作為科普帖,詳細(xì)介紹lombok

1. 基本知識(shí)

簡(jiǎn)介:
Project Lombok是一款用于Java開(kāi)發(fā)的工具,旨在通過(guò)自動(dòng)生成樣板代碼來(lái)簡(jiǎn)化Java代碼的編寫(xiě)。
它通過(guò)注解(Annotation)的方式,幫助開(kāi)發(fā)人員自動(dòng)生成一些常見(jiàn)的Java代碼,如Getter、Setter、構(gòu)造函數(shù)等,從而減少樣板代碼的編寫(xiě),提高開(kāi)發(fā)效率。
工作原理:
Lombok通過(guò)在Java源代碼中使用注解,實(shí)現(xiàn)了在編譯階段自動(dòng)生成代碼的功能。
當(dāng)開(kāi)發(fā)人員在類(lèi)或字段上使用Lombok提供的注解時(shí),Lombok在編譯源代碼時(shí)會(huì)通過(guò)插入AST(Abstract Syntax Tree)操作,在生成的Java字節(jié)碼中加入相應(yīng)的代碼。這樣,在運(yùn)行時(shí),代碼中就包含了通過(guò)注解生成的代碼,而開(kāi)發(fā)人員無(wú)需手動(dòng)編寫(xiě)這些冗長(zhǎng)的代碼。

其優(yōu)缺點(diǎn)如下:

優(yōu)點(diǎn)缺點(diǎn)
1.簡(jiǎn)化代碼: Lombok通過(guò)自動(dòng)生成常見(jiàn)的樣板代碼,減少了開(kāi)發(fā)人員需要編寫(xiě)的代碼量,提高了代碼的簡(jiǎn)潔性。
2. 提高開(kāi)發(fā)效率: 通過(guò)自動(dòng)生成代碼,開(kāi)發(fā)人員能夠更專(zhuān)注于業(yè)務(wù)邏輯,減少了重復(fù)性勞動(dòng),提高了開(kāi)發(fā)效率。
3. 可讀性: 由于生成的代碼是標(biāo)準(zhǔn)的、一致的,提高了代碼的可讀性。
1.隱藏細(xì)節(jié): 自動(dòng)生成的代碼可能會(huì)隱藏一些細(xì)節(jié),開(kāi)發(fā)人員可能不太容易理解具體的實(shí)現(xiàn)方式。
2. 不適用于所有場(chǎng)景: Lombok適用于生成一些常見(jiàn)的代碼,但并不適用于所有的場(chǎng)景。在某些復(fù)雜的情況下,可能需要手動(dòng)編寫(xiě)代碼。
3. 工具依賴(lài): 開(kāi)發(fā)團(tuán)隊(duì)需要在開(kāi)發(fā)環(huán)境中安裝Lombok插件或者通過(guò)構(gòu)建工具配置來(lái)支持Lombok,這增加了項(xiàng)目的工具依賴(lài)。

2. 代碼應(yīng)用

再最新版的idea中都有自動(dòng)捆綁該插件,如果沒(méi)有無(wú)法使用lombok則在軟件中添加即可

先引入Maven文件中的依賴(lài):

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>>${lombok.version}</version><scope>provided</scope>
</dependency>

對(duì)于lombok的注解,主要有如下:

  • @Setter 和 @Getter
import lombok.Getter;
import lombok.Setter;public class MyClass {@Getter@Setterprivate String name;
}

等價(jià)于:

public class MyClass {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}
}
  • @AllArgsConstructor
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;@NoArgsConstructor
@AllArgsConstructor
public class MyClass {private String name;private int age;
}

等價(jià)于:

public class MyClass {private String name;private int age;public MyClass() {// 無(wú)參構(gòu)造方法}public MyClass(String name, int age) {// 有參構(gòu)造方法this.name = name;this.age = age;}
}
  • @NoArgsConstructor :該注解使用在類(lèi)上,提供無(wú)參構(gòu)造

  • @Data :(包含了@Getter、@Setter、@ToString、@EqualsAndHashCode和@AllArgsConstructor的功能)
    需要注意的是:同時(shí)使用 @Data 和 @AllArgsConstructor 后 ,默認(rèn)的無(wú)參構(gòu)造函數(shù)失效,如果需要它,要重新設(shè)置 @NoArgsConstructor

import lombok.Data;@Data
public class MyClass {private String name;private int age;
}
  • @Log(這是一個(gè)泛型注解,具體有很多種形式):@Slf4j :在類(lèi)上注解后,可直接調(diào)用log
log.info(xxxx);
  • @ToString :該注解使用在類(lèi)上,編譯后toString方法返回將會(huì)以字段的名稱(chēng)-值的形式輸出

  • @EqualsAndHashCode :該注解使用在類(lèi)上,同時(shí)生成 equals 和 hashCode 。

  • @NonNull :增加不為空判斷

public NonNullExample(@NonNull Person person) {this.name = person.getName();
}

轉(zhuǎn)換為:

public NonNullExample(@NonNull Person person) {if (person == null) {throw new NullPointerException("person");}this.name = person.getName();
}
  • @Cleanup:自動(dòng)化關(guān)閉流,相當(dāng)于 try with resource
@Cleanup
InputStream in = new FileInputStream(args[0]);
@Cleanup
OutputStream out = new FileOutputStream(args[1]);
  • @SneakyThrows :當(dāng)我們需要拋出異常,在當(dāng)前方法上調(diào)用,不用顯示的在方法名后面寫(xiě) throw
@SneakyThrows(Exception.class)
  • @Synchronized :方法中所有的代碼都加入到一個(gè)代碼塊中,默認(rèn)靜態(tài)方法使用的是全局鎖,普通方法使
    用的是對(duì)象鎖,當(dāng)然也可以指定鎖的對(duì)象。
private final Object lock = new Object();@Synchronized("lock")public void foo() {// Do something}
http://www.risenshineclean.com/news/5251.html

相關(guān)文章:

  • 菏澤網(wǎng)站建設(shè)哪家好關(guān)于搜索引擎的搜索技巧
  • 動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)商城網(wǎng)站seo百度網(wǎng)站排名軟件
  • 做電影網(wǎng)站教程網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)
  • 做網(wǎng)站什么科目石家莊seo公司
  • 提供做網(wǎng)站費(fèi)用重慶百度seo整站優(yōu)化
  • 黃巖區(qū)住房保障建設(shè)局網(wǎng)站網(wǎng)絡(luò)推廣長(zhǎng)沙網(wǎng)絡(luò)推廣
  • 商貿(mào)公司寮步網(wǎng)站建設(shè)價(jià)錢(qián)做網(wǎng)站哪家公司比較好而且不貴
  • 百色做網(wǎng)站站長(zhǎng)工具國(guó)色天香
  • wordpress常用頁(yè)面百度seo服務(wù)公司
  • 什么用來(lái)編寫(xiě)網(wǎng)頁(yè)鄭州seo優(yōu)化
  • 營(yíng)銷(xiāo)型網(wǎng)站建設(shè)風(fēng)格設(shè)定全球搜索網(wǎng)站排名
  • 一個(gè)網(wǎng)站可以做多少關(guān)鍵字網(wǎng)上推廣產(chǎn)品怎么做
  • 電商網(wǎng)站開(kāi)發(fā)技術(shù)與維護(hù)互聯(lián)網(wǎng)營(yíng)銷(xiāo)策劃案
  • 濮陽(yáng)做網(wǎng)站的電話(huà)某網(wǎng)站seo策劃方案
  • 資陽(yáng)視頻網(wǎng)站建設(shè)阿里巴巴關(guān)鍵詞排名優(yōu)化
  • 找券網(wǎng)站怎么做友情鏈接模板
  • 建站平臺(tái) discuzseo推廣代運(yùn)營(yíng)
  • 深圳三大巨頭企業(yè)溫州seo排名優(yōu)化
  • 精品課程 網(wǎng)站建設(shè)質(zhì)量百度怎么免費(fèi)推廣
  • 做三方網(wǎng)站多少錢(qián)東莞seo建站如何推廣
  • 河南app軟件開(kāi)發(fā)價(jià)位怎么優(yōu)化一個(gè)網(wǎng)站關(guān)鍵詞
  • 先做亞馬遜網(wǎng)站怎么操作百度搜索資源平臺(tái)token
  • 什么網(wǎng)站可以自己做配圖軟文營(yíng)銷(xiāo)
  • 如何做漢服seo顧問(wèn)咨詢(xún)
  • 技術(shù)博客主題wordpress谷歌seo關(guān)鍵詞優(yōu)化
  • 推廣app賺傭金平臺(tái)有哪些優(yōu)化營(yíng)商環(huán)境心得體會(huì)個(gè)人
  • 網(wǎng)站首頁(yè)404淘寶新店怎么快速做起來(lái)
  • 湛江市建設(shè)局官方網(wǎng)站seo百度刷排名
  • 佛山網(wǎng)站建設(shè)正規(guī)公司創(chuàng)建網(wǎng)站平臺(tái)
  • 品牌網(wǎng)站建設(shè)有什么作用大專(zhuān)網(wǎng)絡(luò)營(yíng)銷(xiāo)專(zhuān)業(yè)好不好