lombok + slf4j + log4j2


1.lombok插件介紹

  參考  https://blog.csdn.net/a2267378/article/details/81180373,    https://www.cnblogs.com/heyonggang/p/8638374.html

2.安裝

  jar包依賴

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>

  IDEA需要同時下載插件

 

  選擇從瀏覽器下載,安裝后重啟即可

3.使用

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class Test1 {

    public static void main(String[] args) {
        log.trace("trace11111111111");
        log.debug("debug11111111");
        log.info("ino11111111111");
        log.warn("dddddddddddddddddd");
        log.error("eeeeeeeeeeeeeeeee");
        try {
            int a=1/0;
        } catch (Exception e) {
            log.error(e.getMessage(),e.fillInStackTrace());
        }
    }
}

4.常用注解

  @Data  (少用) :注解在類上;包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能,提供類所有屬性的 getter 和 setter 方法,此外還提供了equals、canEqual、hashCode、toString 方法

  @Setter:注解在屬性上;為屬性提供 setter 方法

  @Getter:注解在屬性上;為屬性提供 getter 方法

  @ToString:注解在類上;生成toString()方法,默認情況下,它會按順序(以逗號分隔)打印你的類名稱以及每個字段。可以這樣設置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"}) 

  @EqualsAndHashCode:注解在類上;生成hashCode()和equals()方法,默認情況下,它將使用所有非靜態,非transient字段。但可以通過在可選的exclude參數中來排除更多字段。或者,通過在parameter參數中命名它們來准確指定希望使用哪些字段。

  @NonNull:  注解在屬性上;標識屬性是不能為空,為空則拋出異常。

  @Slf4j :注解在類上;根據用戶實際使用的日志框架生成log日志對象。

  @Log4j :注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象

  @NoArgsConstructor:注解在類上;為類提供一個無參的構造方法。當類中有final字段沒有被初始化時,編譯器會報錯,

  @AllArgsConstructor:注解在類上;為類提供一個全參的構造方法

  @RequiredArgsConstructor:注解在類上;會生成構造方法(可能帶參數也可能不帶參數),如果帶參數,這參數只能是以final修飾的未經初始化的字段,或者是以@NonNull注解的未經初始化的字段@RequiredArgsConstructor(staticName = "of")會生成一個of()的靜態方法,並把構造方法設置為私有的。

  @Builder:效果同構建者模式的Builder

import lombok.Builder;

@Builder
public class Stu {
    private int id;
    private String name;
    private String hometown;
    public String toString(){
        return "id="+this.id+";name="+this.name+";hometown="+this.hometown;
    }
    public static void main(String[] args) {
        Stu s=new Stu.StuBuilder().hometown("81").id(1).name("a").build();
        System.out.println(s.toString());
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM