1. 程式人生 > >編寫java程式推薦一個好的定義log的方式——lombok

編寫java程式推薦一個好的定義log的方式——lombok

一般情況下我們使用log4j或者slf4j定義一個log會這樣寫:private static final Logger log = Logger.getLogger(getClass());

今天在開源社群看到一種寫法更為簡潔

在class上引入註解@Slf4j即可直接使用.

如:

@Slf4j
public class SectionVO {
    public SectionVO() {
        log.info("I'm sectionVO : {}", toString());
    }
}
反編譯SectionVO.class發現自動生成了
private static final Logger log = LoggerFactory.getLogger(SectionVO.class);

這個就很方便了.

那其實@Slf4j這個註解來自於lombok這個包,

仔細研究發現這個包還提供另外一些非常實用,可以大大簡化程式碼的註解

比如 :

@Data   :註解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法

@Setter:註解在屬性上;為屬性提供 setting 方法

@Getter:註解在屬性上;為屬性提供 getting 方法

@Log4j :註解在類上;為類提供一個 屬性名為log 的 log4j 日誌物件

@NoArgsConstructor:註解在類上;為類提供一個無參的構造方法

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

……

注:如果使用Idea,低版本可能不支援lombok,需要安裝lombok外掛,直接在Plugins裡面搜尋lombok安裝就好