IDEA提高開發效率之lombok


  咱們在開發過程當中,常常會有一些常規性的,重複性的工做。好比:java

  1. 根據成員變量生成get和set方法
  2. 根據成員變量生成類的構造函數
  3. 重寫toString()和hashCode方法
  4. 引入日誌框架logFactory,用來打印日誌

  咱們能夠使用lombok插件來解決這個問題。使咱們的編碼效率獲得大幅度的提升!框架


1、安裝lombok插件

   在IDEA 的 File->Settings 面板,並選擇 Plugins 選項,而後點擊 「Browse repositories」。在搜索框輸入」lombok」,結果中找到lombok點擊install重啓IDEA便可。函數


2、加入依賴(是註解生效)

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
</dependency>

3、使用lombok註解

3.1 @Data

  • 編譯自動生成:
  1. 成員變量的get和set方法
  2. equals方法
  3. canEqual方法
  4. hashCode方法
  5. toString方法

  • Student.java
package com.xkt.pojo;

import lombok.Data;

/**
 * Created by lzx on 2019/10/9.
 */
@Data
public class Student {

    private int age;

    private String name;

}
調用對象時

3.2 @Slf4j

  • 在編譯期自動幫引入Logger日誌常量,在代碼中就直接使用log.info或log.debug打印日誌便可。
直接使用日誌

3.3 @Builder

  • Java類上使用Builder註解以後,咱們能夠使用以下代碼爲對象屬性賦值

  • Student.java
package com.xkt.pojo;

import lombok.Builder;
import lombok.Data;
/**
 * Created by lzx on 2019/10/9.
 */
@Data
@Builder
public class Student {

    private int age;

    private String name;

}
  • 測試類
package com.xkt.service;

import com.xkt.pojo.Student;

/**
 * Created by lzx on 2019/10/9.
 */
public class StudentService {

    public static void main(String[] args) {

        Student student = Student.builder().name("張三").age(18).build();

        System.out.println(student);

    }
}
測試結果

3.4 @AllArgsConstructor @NoArgsConstructor

  • 將爲在編譯期自動生成:全參構造函數
  • 將爲在編譯期自動生成:無參構造函數

  • Student.java
package com.xkt.pojo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Created by lzx on 2019/10/9.
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Student {

    private int age;

    private String name;

}
  • 測試類
package com.xkt.service;

import com.xkt.pojo.Student;

/**
 * Created by lzx on 2019/10/9.
 */
public class StudentService {

    public static void main(String[] args) {

        Student student = new Student();

        Student student1 = new Student(18, "張三");

    }
}
相關文章
相關標籤/搜索