Lombok庫

簡單介紹
lombok 提供了簡單的注解的形式來幫助我們簡化消除一些必須有但顯得很臃腫的 java 代碼。
lombok的官方網(wǎng)址:

http://projectlombok.org/

幾個常用的 lombok 注解:
@Data:注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在屬性上;為屬性提供 setting 方法
@Getter:注解在屬性上;為屬性提供 getting 方法
@SneakyThrows:無需在簽名處顯式拋出異常
@Log4j:注解在類上;為類提供一個 屬性名為log 的 log4j 日志對像
@Slf4j: 同上
@NoArgsConstructor:注解在類上;為類提供一個無參的構(gòu)造方法
@AllArgsConstructor:注解在類上;為類提供一個全參的構(gòu)造方法

使用方式
1 在pom文件中添加:

<!-- lombok-->
  <dependency>
      <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.4</version>
    <scope>provided</scope>
  </dependency>

2 在idea中添加插件lombok(file->setting->plugins)

實(shí)現(xiàn)原理
Lombok不是通過字節(jié)碼改寫來實(shí)現(xiàn)的。
它主要是用編譯器內(nèi)支持的annotation processing,直接操縱抽象語法樹(AST),根據(jù)需要添加新節(jié)點(diǎn)。
以javac為例的話,請參考官方文檔:

http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容