Java 冗長的代碼是可能是Java語言自身最大的不足了,而Lombok正是為了彌補這一不足而流行的工具,Lombok可以通過簡單的注解形式來幫助我們最大程度的簡化我們的Java代碼,它可以根據不同的注解,在編譯源碼的時候生成對應的代碼。
官網網址 github地址
1.lombok 注解:
lombok 提供的注解不多,可以參考官方視頻的講解和官方文檔。
Lombok 注解在線幫助文檔:http://projectlombok.org/features/index.
下面列舉幾個常用的 lombok 注解:
- @Data :注解在類上;提供getting 和 setting、equals、canEqual、hashCode、toString 方法
- @Setter:注解在屬性上;為屬性提供 setting 方法
- @Getter:注解在屬性上;為屬性提供 getting 方法
- @Log4j :注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象
- @NoArgsConstructor:注解在類上;為類提供一個無參的構造方法
- @AllArgsConstructor:注解在類上;為類提供一個全參的構造方法
- @Cleanup: 自動幫我們調用close()方法。
比如:
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
2.安裝
這里我講下IDEA安裝lombok插件:
點擊plugin -> Browse repositories 搜索框中輸入 lombok
安裝完成后重啟即可
3. 使用
引入依賴:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.14</version>
</dependency>
新建User類:
package com.hp.up.lombok;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.log4j.Log4j;
/**
* Created by youBatis on 2017/12/20 14:09
*/
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class User {
/**
* id
*/
private Long id;
/**
* 用戶名
*/
private String name;
/**
* 性別 1:男 2:女 99:未知
*/
private Integer sex;
/**
* 密碼
*/
private String password;
/**
* 鹽
*/
private String salt;
/**
* 頭像
*/
private String avatar;
/**
* 郵箱
*/
private String email;
}
完成之后我們可以看到User類的結構,其中已經有Lombok幫我們生成的代碼了:
測試類:
public class TestLombok {
public static void main(String[] args) {
User user = new User();
user.setId(123L);
user.setName("youBatis");
System.out.println(user.toString());
}
}
控制臺輸出 :
User(id=123, name=youBatis, sex=null, password=null, salt=null, avatar=null)
如圖:
更多用法參考 官網資料