最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot圖文并茂講解Lombok庫的安裝與使用

 更新時間:2022年06月27日 10:53:33   作者:鳴鼓ming  
Lombok想要解決了的是在我們實體Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不會用到,但是某些時候仍然需要復寫,以期方便使用的方法;在使用Lombok之后,將由其來自動幫你實現(xiàn)代碼生成

1.相關介紹

Lombok是一個通過注解以達到減少代碼的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。設置完成之后程序正常運行(記得設置完成重啟一下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)生一個關于此參數(shù)的非空檢查,如果參數(shù)為空,則拋出一個空指針異常。
@EqualsAndHashCode注解在類,生成hashCode和equals方法。
@Log這個注解用在類上,可以省去從日志工廠生成日志對象這一步,直接進行日志記錄,具體注解根據(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
    }
}

到此這篇關于SpringBoot圖文并茂講解Lombok庫的安裝與使用的文章就介紹到這了,更多相關SpringBoot Lombok庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mybatisplus的連表增強插件mybatis plus join

    mybatisplus的連表增強插件mybatis plus join

    本文主要介紹了mybatisplus的連表增強插件mybatis plus join,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 淺談JDK9的特性之JVM的xlog

    淺談JDK9的特性之JVM的xlog

    在java程序中,我們通過日志來定位和發(fā)現(xiàn)項目中可能出現(xiàn)的問題。在現(xiàn)代java項目中,我們使用log4j或者slf4j,Logback等日志記錄框架來處理日志問題。本文將介紹JDK9的特性之JVM的xlog。
    2021-06-06
  • SpringBoot中使用HTTP客戶端工具Retrofit

    SpringBoot中使用HTTP客戶端工具Retrofit

    這篇文章主要為大家介紹了SpringBoot中使用HTTP客戶端工具Retrofit方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • SpringBoot整合Javamail實現(xiàn)郵件發(fā)送功能

    SpringBoot整合Javamail實現(xiàn)郵件發(fā)送功能

    郵件發(fā)送是一個很普遍的功能,springboot整合了相關的starter,本文給大家介紹了可以實現(xiàn)一個簡單的郵件發(fā)送功能的實例,文中通過代碼給大家介紹的非常詳細,感興趣的朋友可以參考下
    2023-12-12
  • 使用FeignClient調(diào)用遠程服務時整合本地的實現(xiàn)方法

    使用FeignClient調(diào)用遠程服務時整合本地的實現(xiàn)方法

    這篇文章主要介紹了使用FeignClient調(diào)用遠程服務時整合本地的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java實現(xiàn)讀取文章中重復出現(xiàn)的中文字符串

    Java實現(xiàn)讀取文章中重復出現(xiàn)的中文字符串

    本文主要介紹了Java實現(xiàn)讀取文章中重復出現(xiàn)的中文字符串的方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • spring打包到jar包的問題解決

    spring打包到jar包的問題解決

    這篇文章主要給大家介紹了關于spring打包到jar包遇到的問題的解決方法,文中通過實例代碼結(jié)束的非常詳細,對大家的學習或者使用spring打包具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08
  • java?stream使用指南之sorted使用及進階方式

    java?stream使用指南之sorted使用及進階方式

    這篇文章主要介紹了java?stream使用指南之sorted使用及進階方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 詳解Java中ThreadLocal類型及簡單用法

    詳解Java中ThreadLocal類型及簡單用法

    ThreadLocal實例通常是希望將狀態(tài)與線程關聯(lián)起來的類中的私有靜態(tài)字段,下面通過例子給大家詳細介紹Java中ThreadLocal類型及簡單用法,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • Java實現(xiàn)Kruskal算法的示例代碼

    Java實現(xiàn)Kruskal算法的示例代碼

    Kruskal算法是一種用來尋找最小生成樹的算法,由Joseph Kruskal在1956年發(fā)表。用來解決同樣問題的還有Prim算法和Boruvka算法等。本文將介紹用Java語言實現(xiàn)Kruskal算法的示例代碼,需要的可以參考一下
    2022-07-07

最新評論

平邑县| 麦盖提县| 阿拉尔市| 慈溪市| 安泽县| 安仁县| 同德县| 剑河县| 江川县| 博湖县| 泌阳县| 邹城市| 黎平县| 延长县| 博兴县| 梅河口市| 定陶县| 胶州市| 钟祥市| 塔河县| 临邑县| 大埔县| 赤峰市| 青河县| 新丰县| 崇州市| 齐河县| 手游| 蒲江县| 通化市| 且末县| 东丽区| 蒙城县| 平利县| 阿瓦提县| 阿鲁科尔沁旗| 公主岭市| 龙门县| 县级市| 定结县| 尉氏县|