前言
在實際開發中,有些代碼是重復的、IDE一鍵生成的,不寫不行,寫了又覺得代碼太臃腫,不美觀。如果你也有這種體會,那么,請使用Lombok插件吧,真的非常好用。Lombok的使用也非常簡單,都是各種各樣的注解。
引入依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
IDEA安裝Lombok插件
單單引入Lombok的包還是不夠的,ide會識別不到,會提示你getter,setter等方法沒有定義。所以,需要先安裝Lombok插件(eclipse,vs code等可以自行百度安裝)

點擊 File -> setting -> plugins,搜索Lombok安裝即可,安裝完后重啟IDEA。
Lombok常用注解
1.Data注解
該注解作用在類上,默認為類生成get 、 set、equals、hashCode、toString 等方法。定義一個Happyjava類如下:
@Data
public class Happyjava {
private String username;
private String pwd;
}
使用了Data注解標識在類上,我們可以通過ide的自動補全功能查看Data注解為我們實現了哪些方法:

可以看到,get 、 set、equals、hashCode、toString 這些pojo必備的方法都已經實現了。
2.Setter注解
有些類不需要getter方法,那么我們可以單獨使用setter注解來標識。

通過ide的自動補全功能,可以看到為我們實現了getter方法

3.Getter注解
有些類只提供getter返回,不允許外部設置屬性值,這時候可以使用getter注解。
@Getter
public class Happyjava {
private String username;
private String pwd;
}
4.AllArgsConstructor注解
該注解為我們提供了一個全參的構造器。

通過反編譯查看:

為我們創建了全參的構造方法
5.NoArgsConstructor注解
如果我們使用了AllArgsConstructor注解,又想擁有一個無參構造方法,那就使用NoArgsConstructor注解吧。

通過反編譯查看

6.EqualsAndHashCode注解
為我們實現了equals、canEqual、hashCode 方法。
7.Cleanup注解
清理注解,該注解放在需要關閉的變量前面,比如InpuStream等。默認調用close() 方法,如果需要調用其它的關閉方法,需要手動聲明:@Cleanup(“methodName”) 。還有一點需要注意的是,如果close方法拋出受檢異常,在編譯階段會報錯:

我們可以手動把這個異常拋出

通過反編譯查看:

這個注解我個人是不太喜歡用的,個人更推薦大家使用try-with-resources的方式來關閉資源吧。如下:

8.Builder注解
該注解是本人最喜歡的注解之一,采用Builder的模式構造實例,是我非常喜歡的實例化類的方法。

通過反編譯查看:

然后我們就可以愉快的通過Builder來構造實例啦
public static void main(String[] args) {
Happyjava happyjava = Happyjava.builder()
.username("happyjava")
.pwd("123456")
.build();
}
9.Slf4j注解
這個注解是我使用的最多的注解,使用該注解,就不需要再手動的獲取Slf4j實例啦,直接log調用即可。
@Slf4j
public class Main {
public static void main(String[] args) {
log.info("happyjava 好好學習");
}
}
通過反編譯查看:
Slf4j注解注解,基本上是我開發過程中每個類都會使用的(除了pojo類啦)
總結
以上這些是本人在開發中比較常用到的注解,當然,Lombok的注解可不止這些,只是其他的我不常用罷了。比如Synchronized注解也是不錯的,但是我就不太喜歡用。
