SpringBoot圖文並茂講解Lombok庫的安裝與使用
1.相關介紹
Lombok是一個通過註解以達到減少代碼的Java庫,如通過註解的方式減少get,set方法,構造方法等, 同時可以自動化日志變量。
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。設置完成之後程序正常運行(記得設置完成重啟一下IDEA)。
3.使用註解
Lombok註解文檔: https://projectlombok.org/features/all
Lombok提供註解方式來提高代碼的簡潔性,常用註解有:
註解 | 作用 |
---|---|
@Data | 註解在類,生成setter/getter、equals、canEqual、hashCode、toString方法,如為final屬性,則不會為該屬性生成setter方法。 |
@Setter | 註解在類或字段,註解在類時為所有字段生成setter方法,註解在字段上時隻為該字段生成setter方法。 |
@Getter | 使用方法同上,區別在於生成的是getter方法。 |
@AllArgsConstructor | 註解在類,生成包含類中所有字段的構造方法。 |
@NoArgsConstructor | 註解在類,生成無參的構造方法。 |
@ToString | 註解在類,添加toString方法。 |
@NonNull | 這個註解可以用在成員方法或者構造方法的參數前面,會自動產生一個關於此參數的非空檢查,如果參數為空,則拋出一個空指針異常。 |
@EqualsAndHashCode | 註解在類,生成hashCode和equals方法。 |
@Log | 這個註解用在類上,可以省去從日志工廠生成日志對象這一步,直接進行日志記錄,具體註解根據日志工具的不同而不同,同時,可以在註解中使用topic來指定生成log對象時的類名。不同的日志註解總結如下(上面是註解,下面是實際作用): |
@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 } }
到此這篇關於SpringBoot圖文並茂講解Lombok庫的安裝與使用的文章就介紹到這瞭,更多相關SpringBoot Lombok庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 減少代碼開發工作的Java庫lombok及註解的使用學習
- SpringBoot深入探究@Conditional條件裝配的使用
- SpringBoot深入瞭解日志的使用
- Lombok的詳細使用及優缺點總結
- MyBatisPlus+Lombok實現分頁功能的方法詳解