国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot2.0(Lombok,SpringBoot統(tǒng)一返回封裝)

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot2.0(Lombok,SpringBoot統(tǒng)一返回封裝)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一,Lombok簡(jiǎn)介

? java工程中,我們要?jiǎng)?chuàng)建很多的java Bean。這些javaBean中都會(huì)寫(xiě)getter,setter,equals,hashCode和toString的模板代碼,這些代碼都沒(méi)啥技術(shù)含量。
? 那么我們就是使用Lombok來(lái)自動(dòng)生成這些代碼,通過(guò)注解的方式。提高我們的工作效率。
? Lombok的原理:JSR 269插件化注解處理。就是在編譯生成字節(jié)碼之前,Lombok根據(jù)自己編寫(xiě)的注解處理器,動(dòng)態(tài)地修改 AST增加新的節(jié)點(diǎn)(即Lombok自定義注解所需要生成的代碼),最終生成JVM可執(zhí)行的字節(jié)碼Class文件。
什么是JSR 269?

JSR 269:  Pluggable Annotation Processing API
實(shí)現(xiàn)在Javac編譯階段利用“Annotation Processor”對(duì)自定義的注解進(jìn)行預(yù)處理后生成真正在JVM上面執(zhí)行的“Class文件

java反射技術(shù)的對(duì)比:

  1. 使用Annotation Processing自定義注解是在編譯階段進(jìn)行修改
  2. JDK的反射技術(shù)是在運(yùn)行時(shí)動(dòng)態(tài)修改
結(jié)論:反射更加靈活一些但是帶來(lái)的性能損耗更加大

二,添加依賴

 		<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

三,Springboot統(tǒng)一返回封裝

這種格式主要包含3部分:
code:狀態(tài)碼, 由后端統(tǒng)一定義各種返回結(jié)果的狀態(tài)碼
message:描述信息
data:返回的數(shù)據(jù),例如列表數(shù)據(jù)

3.1,創(chuàng)建一個(gè)工具包util和一個(gè)JsonData類(lèi)

SpringBoot2.0(Lombok,SpringBoot統(tǒng)一返回封裝),spring boot,后端,java
JsonData類(lèi)

package com.demo.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor //會(huì)生成一個(gè)包含所有變量
@NoArgsConstructor //生成一個(gè)無(wú)參數(shù)的構(gòu)造方法
public class JsonData {

    /**
     * 狀態(tài)碼 0 表示成功,1表示處理中,-1表示失敗
     */
    private Integer code;
    /**
     * 數(shù)據(jù)
     */
    private Object data;
    /**
     * 描述
     */
    private String msg;

    // 成功,傳入數(shù)據(jù)
    public static JsonData buildSuccess() {
        return new JsonData(0, null, null);
    }

    // 成功,傳入數(shù)據(jù)
    public static JsonData buildSuccess(Object data) {
        return new JsonData(0, data, null);
    }

    // 失敗,傳入描述信息
    public static JsonData buildError(String msg) {
        return new JsonData(-1, null, msg);
    }

    // 失敗,傳入描述信息,狀態(tài)碼
    public static JsonData buildError(String msg, Integer code) {
        return new JsonData(code, null, msg);
    }
}

這個(gè)類(lèi)寫(xiě)完就不用在實(shí)體類(lèi)里寫(xiě)get和set方法

四,示例實(shí)體類(lèi)

在實(shí)體類(lèi)上加@Data注釋就可以不用寫(xiě)get和set方法
加注釋@Data這個(gè)注釋和寫(xiě)get和set方法效果一樣

package com.demo.bean;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;

@Data
public class Passer {

    /**  */

    private Integer id ;
    /**  */

    private String passername ;
    /**  */

    private String passerage ;
    /**  */

    private String passersex ;

    @Version
    private Integer version;

    @TableLogic(value = "0",delval = "1")
    private Integer deleted;
}

五,@Data注解

@Data, 定義一個(gè)干凈的類(lèi),增加此注解,mvn compile查看字節(jié)碼
作用于類(lèi)上,是以下注解的集合
@ToString
@EqualsAndHashCode
@Getter
@Setter
@RequiredArgsConstructor文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-708429.html

到了這里,關(guān)于SpringBoot2.0(Lombok,SpringBoot統(tǒng)一返回封裝)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot 統(tǒng)一數(shù)據(jù)返回格式 分析 和 處理

    Spring Boot 統(tǒng)一數(shù)據(jù)返回格式 分析 和 處理

    目錄 實(shí)現(xiàn)統(tǒng)一數(shù)據(jù)格式 ?測(cè)試? ?原因分析 ?解決方案 ???個(gè)人主頁(yè):Dikz12 ??格言:吾愚多不敏,而愿加學(xué) 歡迎大家??點(diǎn)贊?評(píng)論?收藏 統(tǒng)?的數(shù)據(jù)返回格式使? @ControllerAdvice 和 ResponseBodyAdvice 的?式實(shí)現(xiàn); @ControllerAdvice : 表?控制器通知類(lèi). 比如:添加類(lèi) ResponseAdvic

    2024年04月08日
    瀏覽(22)
  • Spring Boot進(jìn)階(45): Spring Boot 開(kāi)發(fā)必備技能:如何優(yōu)雅地返回統(tǒng)一結(jié)果包裝!

    ? ? ? ? 在實(shí)際的開(kāi)發(fā)中,我們常常需要對(duì) API 接口的返回結(jié)果進(jìn)行統(tǒng)一的包裝,以方便客戶端的處理和異常情況的統(tǒng)一處理。例如,我們可能需要對(duì) API 接口返回結(jié)果進(jìn)行統(tǒng)一的格式處理,將所有的異常情況都轉(zhuǎn)化為統(tǒng)一的錯(cuò)誤類(lèi)型,同時(shí)也可能需要對(duì)返回結(jié)果進(jìn)行統(tǒng)一的加

    2024年02月07日
    瀏覽(28)
  • 【Spring Boot】攔截器與統(tǒng)一功能處理:統(tǒng)一登錄驗(yàn)證、統(tǒng)一異常處理與統(tǒng)一數(shù)據(jù)返回格式

    【Spring Boot】攔截器與統(tǒng)一功能處理:統(tǒng)一登錄驗(yàn)證、統(tǒng)一異常處理與統(tǒng)一數(shù)據(jù)返回格式

    ?Spring AOP是一個(gè)基于面向切面編程的框架,用于將橫切性關(guān)注點(diǎn)(如日志記錄、事務(wù)管理)與業(yè)務(wù)邏輯分離,通過(guò)代理對(duì)象將這些關(guān)注點(diǎn)織入到目標(biāo)對(duì)象的方法執(zhí)行前后、拋出異?;蚍祷亟Y(jié)果時(shí)等特定位置執(zhí)行,從而提高程序的可復(fù)用性、可維護(hù)性和靈活性。但使用原生Sp

    2024年02月16日
    瀏覽(25)
  • 一站式統(tǒng)一返回值封裝、異常處理、異常錯(cuò)誤碼解決方案—最強(qiáng)的Sping Boot接口優(yōu)雅響應(yīng)處理器

    作者:京東物流?覃玉杰 Graceful Response是一個(gè)Spring Boot體系下的優(yōu)雅響應(yīng)處理器,提供一站式統(tǒng)一返回值封裝、異常處理、異常錯(cuò)誤碼等功能。 使用Graceful Response進(jìn)行web接口開(kāi)發(fā)不僅可以節(jié)省大量的時(shí)間,還可以提高代碼質(zhì)量,使代碼邏輯更清晰。 強(qiáng)烈推薦你花3分鐘學(xué)會(huì)它!

    2024年02月03日
    瀏覽(23)
  • 【Spring Boot統(tǒng)一功能處理】統(tǒng)一異常處理,統(tǒng)一的返回格式,@ControllerAdvice簡(jiǎn)單分析,即將走進(jìn)SSM項(xiàng)目的大門(mén)! ! !

    【Spring Boot統(tǒng)一功能處理】統(tǒng)一異常處理,統(tǒng)一的返回格式,@ControllerAdvice簡(jiǎn)單分析,即將走進(jìn)SSM項(xiàng)目的大門(mén)! ! !

    前言: 大家好,我是 良辰丫 ,在上一篇文章中我們已經(jīng)學(xué)習(xí)了一些統(tǒng)一功能處理的相關(guān)知識(shí),今天我們繼續(xù)深入學(xué)習(xí)這些知識(shí),主要學(xué)習(xí)統(tǒng)一異常處理,統(tǒng)一的返回格式,@ControllerAdvice簡(jiǎn)單分析.?????? ??個(gè)人主頁(yè):良辰針不戳 ??所屬專欄:javaEE進(jìn)階篇之框架學(xué)習(xí) ??勵(lì)志語(yǔ)句:生

    2024年02月16日
    瀏覽(36)
  • 【Spring Boot】Spring Boot日志詳情:基于lombok的日志輸出

    【Spring Boot】Spring Boot日志詳情:基于lombok的日志輸出

    日志文件是一種記錄計(jì)算機(jī)系統(tǒng)或應(yīng)用程序運(yùn)行狀態(tài)和活動(dòng)的文件。日志文件可以包含各種重要信息,如錯(cuò)誤報(bào)告、警告、事件、用戶活動(dòng)等。日志文件通常用于故障排除、性能優(yōu)化、安全審計(jì)和法律合規(guī)等方面。日志文件可以在本地存儲(chǔ),也可以通過(guò)網(wǎng)絡(luò)傳輸?shù)竭h(yuǎn)程服務(wù)器

    2024年02月12日
    瀏覽(17)
  • uniapp微信小程序投票系統(tǒng)實(shí)戰(zhàn) (SpringBoot2+vue3.2+element plus ) -全局異常統(tǒng)一處理實(shí)現(xiàn)

    uniapp微信小程序投票系統(tǒng)實(shí)戰(zhàn) (SpringBoot2+vue3.2+element plus ) -全局異常統(tǒng)一處理實(shí)現(xiàn)

    鋒哥原創(chuàng)的uniapp微信小程序投票系統(tǒng)實(shí)戰(zhàn): uniapp微信小程序投票系統(tǒng)實(shí)戰(zhàn)課程 (SpringBoot2+vue3.2+element plus ) ( 火爆連載更新中... )_嗶哩嗶哩_bilibili uniapp微信小程序投票系統(tǒng)實(shí)戰(zhàn)課程 (SpringBoot2+vue3.2+element plus ) ( 火爆連載更新中... )共計(jì)21條視頻,包括:uniapp微信小程序投票系統(tǒng)實(shí)

    2024年02月03日
    瀏覽(23)
  • 從零開(kāi)始 Spring Boot 38:Lombok 與依賴注入

    從零開(kāi)始 Spring Boot 38:Lombok 與依賴注入

    圖源:簡(jiǎn)書(shū) (jianshu.com) 在之前的文章中,我詳細(xì)介紹了 Lombok 的用法,考慮到在 Spring 中使用依賴注入(DI)是如此的頻繁,因此有必要討論使用 Lombok 時(shí)可能對(duì)依賴注入造成的影響。 我們都知道,Spring 中的依賴注入分為三種情況: 通過(guò)屬性進(jìn)行依賴注入。 通過(guò)構(gòu)造器進(jìn)行依

    2024年02月08日
    瀏覽(37)
  • springboot2入門(mén)到實(shí)戰(zhàn)-spring緩存

    springboot2入門(mén)到實(shí)戰(zhàn)-spring緩存

    啟動(dòng)緩存@EnableCaching @Cacheable @Cacheable 注解就可以將運(yùn)行結(jié)果緩存,以后查詢相同的數(shù)據(jù),直接從緩存中取,不需要調(diào)用方法。 序列 參數(shù) 解釋 1 cacheNames 指定緩存組件的名字 2 key 緩存數(shù)據(jù)時(shí)使用的key,默認(rèn)使用方法參數(shù) 3 keyGenerator key 的生成器。 key 和 keyGenerator 二選一使用

    2024年02月22日
    瀏覽(24)
  • SpringBoot統(tǒng)一異常處理和統(tǒng)一返回格式

    SpringBoot統(tǒng)一異常處理和統(tǒng)一返回格式

    上篇博客我們講解了使用AOP來(lái)進(jìn)行統(tǒng)一的用戶登錄判斷,其實(shí)像這種功能統(tǒng)一且使用較多的地方,都可以用AOP來(lái)處理,除了統(tǒng)?的?戶登錄判斷之外,AOP 還可以實(shí)現(xiàn): 統(tǒng)??志記錄 統(tǒng)??法執(zhí)?時(shí)間統(tǒng)計(jì) (在性能優(yōu)化階段,監(jiān)控流量,接口的響應(yīng)時(shí)間等甚至每個(gè)方法的響應(yīng)

    2024年02月15日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包