lombok系列1:初識lombok

初識lombok

官網:https://projectlombok.org/

什麼是lombok

連官網都懶得廢話,只給出了一句廣告詞:給你的java加點料(spice up your java)。

我們自己來總結一下:

lombok是一個ide插件,它可以讓我們寫更少的代碼,而編譯出更多的字節碼。

也就是說,我們可以讓我們編譯出一個複雜的.class文件,而我們的.java文件很乾淨清爽。

爲什麼要使用lombok

首先,我們可以寫更少的代碼,而不影響其他類引用,方法一個不能少;

其次,lombok是編譯週期參與的,運行時完全無依賴,對字節碼而言無侵入;

代碼review更簡單,一目瞭然。

lombok適用場景

尤其適合pojo類,如普通的javabean、orm的實體類、json的實體類等。

有些功能如Log相關,適用於任意類。

spring Cloud已經引入爲一個core組件,可以放心使用。

hello lombok

首先,我們按照傳統的方式編寫一個java bean,增加getter、setter、toString:

package com.pollyduan;

import java.util.Date;

public class User {
    private Integer id;
    private String userName;
    private String password;
    private String email;
    private Integer age;
    private Date signupTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Date getSignupTime() {
        return signupTime;
    }

    public void setSignupTime(Date signupTime) {
        this.signupTime = signupTime;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", email=" + email + ", age="
                + age + ", signupTime=" + signupTime + "]";
    }
}

然後寫一個Main方法測試一下:

public static void main(String[] args) {
   User user=new User();
   user.setId(1001);
   user.setUserName("pollyduan");
   user.setPassword("123456");
   user.setEmail("[email protected]");
   user.setAge(30);
   user.setSignupTime(new Date());
   System.out.println(user);
}

我們用lombok改造一下,重點看一下main方法,使用起來完全一樣。

package com.pollyduan;

import java.util.Date;

import lombok.Data;

@Data
public class User {
    private Integer id;
    private String userName;
    private String password;
    private String email;
    private Integer age;
    private Date signupTime;
}

沒錯,就是這麼幹淨。

其他類使用該Bean的方法與前面完全一樣。

如何安裝插件

看了helloworld是不是有了用一下的衝動?如果使用該插件需要在ide安裝插件,這裏只針對eclipse開發環境進行說明,其他ide可以搜索一下,或者聯繫我。

下載插件

首先你要拿到一個lombok.jar,有幾個途徑:

1. 直接在官網下載;
2. 去maven倉庫下載,比如:http://mvnrepository.com/
3. 直接在你的maven項目中拉取jar,然後去~/.m2中去找。

maven依賴配置:

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.16.16</version>
</dependency>

注:該jar第一次安裝完之後,以後編碼時也需要引入到java build path中。

安裝lombok

直接執行lombok.jar,如:

java -jar ~/.m2/repository/org/projectlombok/lombok/1.16.16/lombok-1.16.16.jar

會彈出一個窗口,選擇你的eclipse目錄,或者自己導航到eclipse.ini文件,點擊”Install”即可。

使用lombok

插件安裝後,重啓eclipse,將lombok.jar添加到java build path中就可以了。

如果你使用maven,很好,將lombok添加到依賴中即可。

更多的使用技巧,下一篇詳細介紹。有問題可以加Q羣討論:9040323

發佈了150 篇原創文章 · 獲贊 119 · 訪問量 73萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章