lombok使用基础教程
- 本文作者:@Ryan Miao
- 本文鏈接:https://www.cnblogs.com/woshimrf/p/lombok-usage.html
- 版權(quán)聲明:?本博客所有文章除特別聲明外,均采用?CC BY-NC-SA 3.0?許可協(xié)議。轉(zhuǎn)載請注明出處!
目錄
前言引入
在maven中
在gradle中
IntelIJ IDEA 插件
基本用法
Geeter Setter
ToString
@EqualsAndHashCode
構(gòu)造函數(shù)@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
必用項(xiàng)@Data
不可變對象valueobject @Value
最喜歡的項(xiàng) @Builder
總結(jié)
參考
前言
lombok是一個(gè)編譯級(jí)別的插件,它可以在項(xiàng)目編譯的時(shí)候生成一些代碼。在很多工具類的項(xiàng)目中都有這個(gè)功能。比如dagger。
通俗的說,lombok可以通過注解來標(biāo)示生成getter?settter等代碼。我們自然可以通過編譯器比如IDEA的Generate生成,為啥要用這個(gè)?
在項(xiàng)目開發(fā)階段,一個(gè)class的屬性是一直變化的,今天可能增加一個(gè)字段,明天可能刪除一個(gè)字段。每次變化都需要修改對應(yīng)的模板代碼。另外,有的class的字段超級(jí)多,多到一眼看不完。如果加上模板代碼,更難一眼看出來。更有甚者,由于字段太多,想要使用builder來創(chuàng)建。手動(dòng)創(chuàng)建builder和字段和原來的類夾雜在一起,看起來真的難受。lombok的@Builder即可解決這個(gè)問題。
引入
引入就是加入lombok的jar包。
在maven中
直接加入依賴
<dependency><groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> </dependency>在gradle中
這里比較麻煩,需要添加一個(gè)編譯時(shí)生成代碼的插件。gradle里有幾個(gè)這樣的插件。但為了簡化過程,lombok提供了新插件。
來源:官網(wǎng),?github
首先,添加一個(gè)plugin
plugins {id 'io.franzbecker.gradle-lombok' version '1.11' }然后,就可以了。還可以配置lombok的版本:
lombok { // optional: values below are the defaultsversion = "1.16.20"sha256 = "" }IntelIJ IDEA 插件
在IDEA里使用需要添加一個(gè)插件。在插件里搜索lombok,安裝,重啟。
IDEA里需要在設(shè)置中啟用annotation processors。
基本用法
測試代碼:?https://github.com/Ryan-Miao/someTest/tree/master/src/main/java/com/test/lombok
Geeter Setter
最簡單的,最常用的,最直觀的使用就是getter setter方法。
package com.test.lombok;import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import java.util.Date; /** * Created by Ryan Miao on 1/18/18. */ public class GetterSetterExample { /** * Age of the person. Water is wet. * * @param age New value for this person's age. Sky is blue. * @return The current value of this person's age. Circles are round. */簡單使用沒有問題,深入一點(diǎn)可以看到有些特殊設(shè)定。比如javadoc.
編譯后的結(jié)果如下:
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package com.test.lombok; import java.util.Date; public class GetterSetterExample { private int age = 10; private boolean active; private Boolean none; private Date date; private String name; public GetterSetterExample() { } public String toString() { return String.format("%s (age: %d)", this.name, this.age); } public static void main(String[] args) { GetterSetterExample example = new GetterSetterExample(); example.setActive(true); example.setAge(123); example.setDate(new Date()); example.setName("abc"); example.setNone(false); Date date = example.getDate(); Boolean none = example.getNone(); boolean active = example.isActive(); } public int getAge() { return this.age; } public void setAge(int age) { this.age = age; } public boolean isActive() { return this.active; } public void setActive(boolean active) { this.active = active; } public Boolean getNone() { return this.none; } public void setNone(Boolean none) { this.none = none; } public Date getDate() { return this.date; } public void轉(zhuǎn)載于:https://www.cnblogs.com/itrena/p/8352863.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的lombok使用基础教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php之判断点在多边形内的api
- 下一篇: 辨寒证