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

Lombok使用@Tolerate實(shí)現(xiàn)沖突兼容問題

 更新時(shí)間:2022年08月27日 14:17:08   作者:剎那的娜娜  
這篇文章主要介紹了Lombok使用@Tolerate實(shí)現(xiàn)沖突兼容問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用@Tolerate實(shí)現(xiàn)沖突兼容

使用Lombok能夠減少程序員的重復(fù)工作提高工作效率,而Lombok的注解基本是基于標(biāo)準(zhǔn)的(如,標(biāo)準(zhǔn)的Builder模式),而實(shí)際開發(fā)的時(shí)候有時(shí)候?yàn)榱藢?shí)現(xiàn)某些能力會(huì)對(duì)標(biāo)準(zhǔn)實(shí)現(xiàn)做一些變形,而這個(gè)時(shí)候Lombok的標(biāo)準(zhǔn)實(shí)現(xiàn)就會(huì)無法滿足需求。

例如,這樣一個(gè)場景

使用@Builder對(duì)一個(gè)DTO實(shí)現(xiàn)一個(gè)構(gòu)造器,但是在做Json反序列化的時(shí)候發(fā)生錯(cuò)誤,

原因就是缺少無參公共的構(gòu)造函數(shù),

而手動(dòng)寫一個(gè)無參構(gòu)造函數(shù)的時(shí)候編譯錯(cuò)誤,就是和@Builder沖突,雖然標(biāo)準(zhǔn)的@Builder沒法是需要私有化構(gòu)造函數(shù)的,但是在某些場景下我們需要對(duì)這種標(biāo)準(zhǔn)變形,這個(gè)時(shí)候Lombok提供了@Tolerate實(shí)現(xiàn)對(duì)沖突的兼容。

/**
 * <p>
 * 包括能力、知識(shí)點(diǎn)等
 * </p>
 *
 * @author hlong
 * @since 2020-09-10
 */
@Data
@Entity
@Table(name = "que_attr")
@Builder
@ApiModel(value="QueAttr對(duì)象", description="包括能力、知識(shí)點(diǎn)等")
public class QueAttr implements Serializable {
 
    @Tolerate
    QueAttr() {}
 
    private static final long serialVersionUID = 1L;
 
    @ApiModelProperty(value = "屬性編號(hào),系統(tǒng)自動(dòng)產(chǎn)生")
    @Id
    @Column(name = "attr_id")
    private Long attrId;
 
    @ApiModelProperty(value = "屬性編碼")
    @Column(name = "attr_code")
    private String attrCode;
 
    @ApiModelProperty(value = "屬性名稱")
    @Column(name = "name")
    private String name;
 
    @ApiModelProperty(value = "屬性名稱中文")
    @Column(name = "name_cn")
    private String nameCn;
 
    @ApiModelProperty(value = "簡稱")
    @Column(name = "name_short")
    private String nameShort;
 
    @ApiModelProperty(value = "上級(jí)節(jié)點(diǎn)")
    @Column(name = "attr_up")
    private Long attrUp;
 
    @ApiModelProperty(value = "級(jí)別:第1級(jí)為0")
    @Column(name = "lev")
    private Integer lev;
 
    @ApiModelProperty(value = "從小到大,從1開始")
    @Column(name = "sort_no")
    private Integer sortNo;
 
    @ApiModelProperty(value = "(枚舉)屬性分類信息 見字典表,這里主要是能力和知識(shí)點(diǎn)")
    @Column(name = "attr_type")
    private Long attrType;
 
    @ApiModelProperty(value = "機(jī)構(gòu)編號(hào):0公司")
    @Column(name = "org_id")
    private Long orgId;
 
    @Column(name = "subject")
    private Long subject;
 
    @Column(name = "key_stage")
    private Long keyStage;
 
    @Column(name = "grade")
    private Long grade;
 
    @Column(name = "term")
    private Integer term;
 
    @ApiModelProperty(value = "添加人")
    @Column(name = "user_create")
    private Long userCreate;
 
    @ApiModelProperty(value = "-1刪除 0草稿 1有效")
    @Column(name = "status")
    private Integer status;
 
    @Column(name = "sys_code")
    private Long sysCode;
 
    @ApiModelProperty(value = "更新時(shí)間")
    @Column(name = "time_update")
    private Timestamp timeUpdate;
 
    @ApiModelProperty(value = "備注")
    @Column(name = "remark")
    private String remark;
 
    @ApiModelProperty(value = "屬性的uuid")
    @Column(name = "attr_uuid")
    private String attrUuid;
 
    @ApiModelProperty(value = "屬性的父級(jí)uuid")
    @Column(name = "attr_up_uuid")
    private String attrUpUuid;
 
    @ApiModelProperty(value = "教材版本uuid")
    @Column(name = "book_code")
    private String bookCode;
 
    @ApiModelProperty(value = "教材版本名稱")
    @Column(name = "book_name")
    private String bookName;
 
    @ApiModelProperty(value = "年級(jí)的code-學(xué)院code")
    @Column(name = "grade_uuid")
    private String gradeUuid; 
}

Lombok實(shí)驗(yàn)性注解之@Tolerate

注解介紹

實(shí)現(xiàn)對(duì)沖突的兼容,官方解釋:使任何方法或者構(gòu)造函數(shù)讓 lombok 假裝它不存在,作用于方法上,沒什么大用,可以配合 @Builder 使用

使用場景

使用 Lombok 能夠減少程序員的重復(fù)工作提高工作效率,而 lombok 的注解基本是基于標(biāo)準(zhǔn)的(如,標(biāo)準(zhǔn)的 Builder 模式),而實(shí)際開發(fā)的時(shí)候有時(shí)候?yàn)榱藢?shí)現(xiàn)某些能力會(huì)對(duì)標(biāo)準(zhǔn)實(shí)現(xiàn)做一些變形,而這個(gè)時(shí)候 lombok 的標(biāo)準(zhǔn)實(shí)現(xiàn)就會(huì)無法滿足需求

使用 @Builder 對(duì)一個(gè) DTO 實(shí)現(xiàn)一個(gè)構(gòu)造器,但是在做 Json 反序列化的時(shí)候發(fā)生錯(cuò)誤,原因就是缺少無參公共的構(gòu)造函數(shù),而手動(dòng)寫一個(gè)無參構(gòu)造函數(shù)的時(shí)候編譯錯(cuò)誤,就是和 @Builder 沖突,雖然標(biāo)準(zhǔn)的 @Builder 沒法是需要私有化構(gòu)造函數(shù)的,但是在某些場景下我們需要對(duì)這種標(biāo)準(zhǔn)變形,這個(gè)時(shí)候 lombok 提供了 @Tolerate 實(shí)現(xiàn)對(duì)沖突的兼容

實(shí)戰(zhàn)演練

@Builder
public class 程熙媛 {
?? ?@Tolerate
?? ?public 程熙媛() {}
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 淺談java中集合的由來,以及集合和數(shù)組的區(qū)別詳解

    淺談java中集合的由來,以及集合和數(shù)組的區(qū)別詳解

    下面小編就為大家?guī)硪黄獪\談java中集合的由來,以及集合和數(shù)組的區(qū)別詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • ElasticSearch學(xué)習(xí)之文檔API相關(guān)操作

    ElasticSearch學(xué)習(xí)之文檔API相關(guān)操作

    這篇文章主要為大家介紹了ElasticSearch學(xué)習(xí)之文檔API相關(guān)操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 新手也能看懂的SpringBoot異步編程指南(簡單易懂)

    新手也能看懂的SpringBoot異步編程指南(簡單易懂)

    這篇文章主要介紹了新手也能看懂的SpringBoot異步編程指南(簡單易懂),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離詳解

    SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離詳解

    在高并發(fā)下需要對(duì)應(yīng)用進(jìn)行讀寫分離,配置多數(shù)據(jù)源,即寫操作走主庫,讀操作則走從庫,主從數(shù)據(jù)庫負(fù)責(zé)各自的讀和寫,緩解了鎖的爭用,提高了讀取性能,這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目中如何實(shí)現(xiàn)MySQL讀寫分離的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析

    java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析

    這篇文章主要介紹了java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java歐拉函數(shù)的計(jì)算代碼詳解

    Java歐拉函數(shù)的計(jì)算代碼詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)歐拉函數(shù)的計(jì)算,從歐拉函數(shù)引伸出來在環(huán)論方面的事實(shí)和拉格朗日定理構(gòu)成了歐拉定理的證明,本文通過實(shí)例代碼給大家介紹的很詳細(xì),需要的朋友可以參考下
    2021-05-05
  • Java8時(shí)間日期庫中的常用使用示例

    Java8時(shí)間日期庫中的常用使用示例

    這篇文章主要介紹了Java8時(shí)間日期庫中的20個(gè)常用使用示例,幫助大家更好學(xué)習(xí)Java8是如何處理時(shí)間及日期的方法,感興趣的朋友可以參考一下
    2016-02-02
  • java枚舉類型-Enum

    java枚舉類型-Enum

    本文詳細(xì)介紹了 Java1.5 引入的新特性枚舉中的關(guān)鍵字enum,運(yùn)用大量的代碼加以解釋,相信可以幫助到正在學(xué)習(xí)該知識(shí)的小伙伴,大家可以參考一下
    2021-08-08
  • 解決SpringBoot log4j日志沒生成的問題

    解決SpringBoot log4j日志沒生成的問題

    這篇文章主要介紹了解決SpringBoot log4j日志沒生成的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot中@ConditionalOnProperty的使用及作用詳解

    SpringBoot中@ConditionalOnProperty的使用及作用詳解

    這篇文章主要介紹了SpringBoot中@ConditionalOnProperty的使用及作用詳解,@ConditionalOnProperty通過讀取本地配置文件中的值來判斷 某些 Bean 或者 配置類 是否加入spring 中,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

河津市| 宣恩县| 武定县| 顺平县| 墨脱县| 思南县| 渭源县| 墨脱县| 新余市| 内乡县| 阜南县| 奉化市| 溧阳市| 德昌县| 阳西县| 黑龙江省| 德昌县| 元阳县| 临夏市| 凉城县| 南昌市| 仪陇县| 南京市| 武川县| 新化县| 通江县| 无极县| 子长县| 缙云县| 洛阳市| 保康县| 吴桥县| 德化县| 汾阳市| 镇原县| 涞源县| 平陆县| 佛山市| 永平县| 肇庆市| 微博|