Lombok介紹
為什么要使用
減少冗余代碼, 提升逼格.
安裝IDEA插件
File -> Settings -> Plugins 搜索Lombok進行安裝. 如遇到網絡問題導致不能在線安裝的, 通過http://plugins.jetbrains.com/plugin/6317-lombok-plugin 下載離線安裝包, 點下圖”Install plugin from disk…”進行安裝
加入Lombok依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
Lombok在編譯完后, 就沒他事了, 所以Scope可以設置成provided, 這樣打出來的包將不會包含lombok.jar
使用Lombok
@Getter, @Setter
可以標記類, 給所有非靜態成員生成get/set方法. 下面兩種寫法效果等同:
正常寫法 |
Lombok寫法 |
class User { private String userId; private String username; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } } |
class User { @lombok.Getter @lombok.Setter private String userId;
@lombok.Getter @lombok.Setter private String username; } |
@ToString
生成toString方法, 默認將所有字段輸出, 可以使用用exclude/of指定排除字段或包含字段
@EqualsAndHashCode
自動重寫hashCode和equals方法. 同@ToString, 可以指定字段
@Slf4j
生成一個slf4j的log變量
正常寫法 |
class User { private static final Logger log = LoggerFactory.getLogger(User.class); } |
Lombok寫法 |
@Slf4j class User { } |
完整比較
Lombok寫法 |
@lombok.NoArgsConstructor @lombok.extern.slf4j.Slf4j |
正常寫法 |
public class LombokDemo {
|
總結
Lombok用起來比較簡單的, 網上有很多文章, 上面也將常用的進行舉例介紹. 還有一個學習方法就是直接在IDE里面敲下代碼看看效果, 或者看下它的java doc, 也可讓我們快速掌握lombok.