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

SpringBoot圖文并茂講解Lombok庫(kù)的安裝與使用

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

1.相關(guān)介紹

Lombok是一個(gè)通過注解以達(dá)到減少代碼的Java庫(kù),如通過注解的方式減少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提供注解方式來提高代碼的簡(jiǎn)潔性,常用注解有:

注解作用
@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庫(kù)的安裝與使用的文章就介紹到這了,更多相關(guān)SpringBoot Lombok庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatisplus的連表增強(qiáng)插件mybatis plus join

    mybatisplus的連表增強(qiáng)插件mybatis plus join

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

    淺談JDK9的特性之JVM的xlog

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

    SpringBoot中使用HTTP客戶端工具Retrofit

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

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

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

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

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

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

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

    spring打包到j(luò)ar包的問題解決

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

    java?stream使用指南之sorted使用及進(jìn)階方式

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

    詳解Java中ThreadLocal類型及簡(jiǎn)單用法

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

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

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

最新評(píng)論

改则县| 广饶县| 三门峡市| 晋江市| 商水县| 汕头市| 江西省| 梅河口市| 丹东市| 罗城| 梅州市| 介休市| 全州县| 横山县| 北安市| 安化县| 墨玉县| 海伦市| 莱芜市| 奎屯市| 英超| 遂昌县| 徐闻县| 三原县| 阿勒泰市| 肇源县| 华安县| 东阿县| 余干县| 新野县| 临武县| 宜城市| 平昌县| 宾川县| 安图县| 万载县| 兴城市| 鲜城| 务川| 丹棱县| 谷城县|