真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Lombok的原理是什么

這篇文章給大家介紹Lombok的原理是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)建站從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元伽師做網(wǎng)站,已為上家服務(wù),為伽師各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

以 idea 為例,直接在工具中搜索 Lombok 插件,然后安裝它。安裝完成后重啟 idea 開發(fā)工具即可。

Lombok的原理是什么

Lombok的原理是什么

接下來,我們需要在使用 Lombok 的項目中引入 Lombok 的 jar 包。Maven 的 POM.xml 中引入以下配置:

Lombok的原理是什么

然后在項目中的 get/set 就可以被我們替換成下面的代碼:

Lombok的原理是什么

Lombok 有非常多的注解,下面是這些注解的解釋說明。

Lombok的原理是什么

Lombok的原理是什么

Lombok 的 val 可能用的人比較少,但其實它才是最值得推薦使用的一個,類似 JavaScript 的 val。

Lombok的原理是什么

@NonNull 的用法也很常見。

Lombok的原理是什么

@Cleanup 關(guān)閉流的做法。

Lombok的原理是什么

@ToString 的用法。

Lombok的原理是什么

@EqualsAndHashCode 的用法。

Lombok的原理是什么

最常用的 @Data 的用法。

Lombok的原理是什么

還有最常用的 @Builder 的用法。

Lombok的原理是什么

更多關(guān)于 Lombok 注解的用法,我就不一一列舉了,大家可以看我上面的那個注解說明。

最后我說一下 Lombok 的原理。通過它的注解,我們可以看到,Lombok 的注解都定義了 @Retention 為 RetentionPolicy.RUNTIME 的代碼。這樣它只能在運(yùn)行時通過反射來獲取注解值,使得運(yùn)行時代碼效率降低。其次,如果想在編譯階段利用注解來進(jìn)行一些檢查,對用戶的某些不合理代碼給出錯誤報告,反射的使用方法就無能為力了。好在,我們現(xiàn)在有了 JSR 269,它可以讓我們在 Javac 的編譯期利用注解做這些事情。所以我們發(fā)現(xiàn)核心的區(qū)分是在運(yùn)行期還是編譯期。

在 Lombok 的處理流程中,Javac 解析成抽象語法樹之后(AST),Lombok 根據(jù)自己的注解處理器,動態(tài)的修改 AST,增加新的節(jié)點(所謂代碼),最終通過分析和生成字節(jié)碼。

自從Java 6起,javac 就支持“JSR 269 Pluggable Annotation Processing API”規(guī)范,只要程序?qū)崿F(xiàn)了該 API,就能在 javac 運(yùn)行的時候得到調(diào)用。

關(guān)于Lombok的原理是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


新聞名稱:Lombok的原理是什么
本文路徑:http://weahome.cn/article/igjsgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部