SpringBoot圖文并茂講解Lombok庫的安裝與使用
1.相關(guān)介紹
Lombok是一個(gè)通過注解以達(dá)到減少代碼的Java庫,如通過注解的方式減少get,set方法,構(gòu)造方法等, 同時(shí)可以自動(dòng)化日志變量。
2.安裝步驟
1.添加依賴
在pom.xml中添加lombok的依賴
<!--lombok依賴--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
2.安裝插件
IDEA中 File->Settings->Plugins,搜索安裝Lombok插件。
安裝完成,重啟IDEA
如果編譯時(shí)出錯(cuò),可能是沒有enable注解處理器。Annotation Processors > Enable annotation processing。設(shè)置完成之后程序正常運(yùn)行(記得設(shè)置完成重啟一下IDEA)。
3.使用注解
Lombok注解文檔: https://projectlombok.org/features/all
Lombok提供注解方式來提高代碼的簡潔性,常用注解有:
注解 | 作用 |
---|---|
@Data | 注解在類,生成setter/getter、equals、canEqual、hashCode、toString方法,如為final屬性,則不會(huì)為該屬性生成setter方法。 |
@Setter | 注解在類或字段,注解在類時(shí)為所有字段生成setter方法,注解在字段上時(shí)只為該字段生成setter方法。 |
@Getter | 使用方法同上,區(qū)別在于生成的是getter方法。 |
@AllArgsConstructor | 注解在類,生成包含類中所有字段的構(gòu)造方法。 |
@NoArgsConstructor | 注解在類,生成無參的構(gòu)造方法。 |
@ToString | 注解在類,添加toString方法。 |
@NonNull | 這個(gè)注解可以用在成員方法或者構(gòu)造方法的參數(shù)前面,會(huì)自動(dòng)產(chǎn)生一個(gè)關(guān)于此參數(shù)的非空檢查,如果參數(shù)為空,則拋出一個(gè)空指針異常。 |
@EqualsAndHashCode | 注解在類,生成hashCode和equals方法。 |
@Log | 這個(gè)注解用在類上,可以省去從日志工廠生成日志對(duì)象這一步,直接進(jìn)行日志記錄,具體注解根據(jù)日志工具的不同而不同,同時(shí),可以在注解中使用topic來指定生成log對(duì)象時(shí)的類名。不同的日志注解總結(jié)如下(上面是注解,下面是實(shí)際作用): |
@CommonsLog private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class); @JBossLog private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LogExample.class); @Log private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName()); @Log4j private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class); @Log4j2 private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class); @Slf4j private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class); @XSlf4j private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);
下面演示幾個(gè)注解的使用
使用注解前
User
package com.limi.entity; public class User { private Integer id; private String userName; private String passWord; public User(){} public User(Integer id, String userName, String passWord) { this.id = id; this.userName = userName; this.passWord = passWord; } @Override public String toString() { return "User{" + "id=" + id + ", userName='" + userName + '\'' + ", passWord='" + passWord + '\'' + '}'; } 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; } }
使用注解, 效果和上面一致, 大大減少了代碼量
User
package com.limi.entity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class User { private Integer id; private String userName; private String passWord; }
測(cè)試
package com.limi; import com.limi.entity.User; import lombok.extern.log4j.Log4j2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @Log4j2 @SpringBootApplication public class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); User user = new User(1, "andy", "123456"); log.info(user); //使用Lombok的@Log4j2注解, 可以直接使用log } }
到此這篇關(guān)于SpringBoot圖文并茂講解Lombok庫的安裝與使用的文章就介紹到這了,更多相關(guān)SpringBoot Lombok庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)順序表用法詳解
順序表是計(jì)算機(jī)內(nèi)存中以數(shù)組的形式保存的線性表,線性表的順序存儲(chǔ)是指用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)線性表中的各個(gè)元素、使得線性表中在邏輯結(jié)構(gòu)上相鄰的數(shù)據(jù)元素存儲(chǔ)在相鄰的物理存儲(chǔ)單元中,即通過數(shù)據(jù)元素物理存儲(chǔ)的相鄰關(guān)系來反映數(shù)據(jù)元素之間邏輯上的相鄰關(guān)系2021-10-10Java 發(fā)送http請(qǐng)求上傳文件功能實(shí)例
本文通過實(shí)例代碼給大家介紹了Java 發(fā)送http請(qǐng)求上傳文件功能,需要的朋友參考下吧2017-06-06Spring Cloud Eureka服務(wù)治理的實(shí)現(xiàn)
服務(wù)治理是微服務(wù)框架中最為核心和基礎(chǔ)的模塊,它主要是用來實(shí)現(xiàn)各個(gè)微服務(wù)實(shí)例的自動(dòng)化注冊(cè)與發(fā)現(xiàn)。這篇文章主要介紹了Spring Cloud Eureka服務(wù)治理的實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2018-06-06Java實(shí)現(xiàn)合并兩個(gè)有序序列算法示例
這篇文章主要介紹了Java實(shí)現(xiàn)合并兩個(gè)有序序列算法,簡單描述了序列合并算法的原理與java合并有序序列的具體操作步驟及相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09