SpringBoot圖文并茂講解Lombok庫的安裝與使用
1.相關(guān)介紹
Lombok是一個通過注解以達(dá)到減少代碼的Java庫,如通過注解的方式減少get,set方法,構(gòu)造方法等, 同時可以自動化日志變量。
2.安裝步驟
1.添加依賴
在pom.xml中添加lombok的依賴

<!--lombok依賴-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>2.安裝插件
IDEA中 File->Settings->Plugins,搜索安裝Lombok插件。

安裝完成,重啟IDEA

如果編譯時出錯,可能是沒有enable注解處理器。Annotation Processors > Enable annotation processing。設(shè)置完成之后程序正常運行(記得設(shè)置完成重啟一下IDEA)。

3.使用注解
Lombok注解文檔: https://projectlombok.org/features/all
Lombok提供注解方式來提高代碼的簡潔性,常用注解有:
| 注解 | 作用 |
|---|---|
| @Data | 注解在類,生成setter/getter、equals、canEqual、hashCode、toString方法,如為final屬性,則不會為該屬性生成setter方法。 |
| @Setter | 注解在類或字段,注解在類時為所有字段生成setter方法,注解在字段上時只為該字段生成setter方法。 |
| @Getter | 使用方法同上,區(qū)別在于生成的是getter方法。 |
| @AllArgsConstructor | 注解在類,生成包含類中所有字段的構(gòu)造方法。 |
| @NoArgsConstructor | 注解在類,生成無參的構(gòu)造方法。 |
| @ToString | 注解在類,添加toString方法。 |
| @NonNull | 這個注解可以用在成員方法或者構(gòu)造方法的參數(shù)前面,會自動產(chǎn)生一個關(guān)于此參數(shù)的非空檢查,如果參數(shù)為空,則拋出一個空指針異常。 |
| @EqualsAndHashCode | 注解在類,生成hashCode和equals方法。 |
| @Log | 這個注解用在類上,可以省去從日志工廠生成日志對象這一步,直接進(jìn)行日志記錄,具體注解根據(jù)日志工具的不同而不同,同時,可以在注解中使用topic來指定生成log對象時的類名。不同的日志注解總結(jié)如下(上面是注解,下面是實際作用): |
@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);
下面演示幾個注解的使用
使用注解前
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;
}測試
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)順序表用法詳解
順序表是計算機(jī)內(nèi)存中以數(shù)組的形式保存的線性表,線性表的順序存儲是指用一組地址連續(xù)的存儲單元依次存儲線性表中的各個元素、使得線性表中在邏輯結(jié)構(gòu)上相鄰的數(shù)據(jù)元素存儲在相鄰的物理存儲單元中,即通過數(shù)據(jù)元素物理存儲的相鄰關(guān)系來反映數(shù)據(jù)元素之間邏輯上的相鄰關(guān)系2021-10-10
Spring Cloud Eureka服務(wù)治理的實現(xiàn)
服務(wù)治理是微服務(wù)框架中最為核心和基礎(chǔ)的模塊,它主要是用來實現(xiàn)各個微服務(wù)實例的自動化注冊與發(fā)現(xiàn)。這篇文章主要介紹了Spring Cloud Eureka服務(wù)治理的實現(xiàn),感興趣的小伙伴們可以參考一下2018-06-06

