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

BeanUtils.copyProperties()拷貝id屬性失敗的原因及解決

 更新時(shí)間:2021年09月01日 09:56:10   作者:今夜月色很美  
這篇文章主要介紹了BeanUtils.copyProperties()拷貝id屬性失敗的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

BeanUtils.copyProperties()拷貝id屬性失敗

po類中id有值,但是使用BeanUtils.copyProperties()拷貝出的vo類id屬性為null,檢查后發(fā)現(xiàn)是因?yàn)閜o繼承的父類聲明了一個(gè)泛型。

部分代碼如下

public abstract class AbstractEntity<ID extends Serializable> implements Serializable { 
    protected ID id;
    /**創(chuàng)建人*/
    protected ID createdBy;
    /**創(chuàng)建時(shí)間*/
    protected Date createdTime;
 
    /**最后一次修改人*/
    protected ID lastModifiedBy;
    /**最后一次修改時(shí)間*/
    protected Date lastModifiedTime; 
    public void setId(ID id) {
        this.id = id;
    }
 
    public ID getId() {
        return this.id;
    }

查看BeanUtils.copyProperties()源碼中有一段判斷如下:

if (readMethod != null && ClassUtils.isAssignable(writeMethod.getParameterTypes()[0], readMethod.getReturnType())) 

當(dāng)執(zhí)行到獲取vo類的writeMethod即setId()參數(shù)類型,結(jié)果是Long類型,而po類的readMethod即getId()返回值類型獲取到的結(jié)果卻是Serializable所以BeanUtils認(rèn)為屬性類型不同,所以不會(huì)拷貝id屬性。

解決方法

暫不清楚po類extends AbstractEntity<Long>后為什么讀取到的類型不是Long而是父類型Serializable,暫時(shí)先不用泛型,把id類型直接定義為L(zhǎng)ong,問(wèn)題解決~

BeanUtils.copyProperties 出錯(cuò)

注意:屬性復(fù)制,不同jar中的方法,用法不一樣!

Spring 包(org.springframework.beans)中

BeanUtils.copyProperties(A,B);

是A中的值賦值給B

Apache 包(org.apache.commons.beanutils)中(常用)

BeanUtils.copyProperties(A,B);

是B中的值賦值給A

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

相關(guān)文章

  • Java IO文件編碼轉(zhuǎn)換實(shí)現(xiàn)代碼

    Java IO文件編碼轉(zhuǎn)換實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java IO文件編碼轉(zhuǎn)換實(shí)現(xiàn)代碼,有需要的朋友可以參考一下
    2013-12-12
  • MyBatis-Plus updateById不更新null值的方法解決

    MyBatis-Plus updateById不更新null值的方法解決

    用Mybatis-Plus的updateById()來(lái)更新數(shù)據(jù)時(shí),無(wú)法將字段設(shè)置為null值,更新后數(shù)據(jù)還是原來(lái)的值,本文就來(lái)詳細(xì)的介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • java輸入空行結(jié)束問(wèn)題

    java輸入空行結(jié)束問(wèn)題

    這篇文章主要介紹了java輸入空行結(jié)束問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java面向?qū)ο笾^承的概念詳解

    Java面向?qū)ο笾^承的概念詳解

    這篇文章主要介紹了Java面向?qū)ο笾^承的概念詳解,Java是一種面向?qū)ο蟮木幊陶Z(yǔ)言,繼承是實(shí)現(xiàn)面向?qū)ο缶幊痰幕A(chǔ)之一。通過(guò)繼承,我們可以使代碼更具可讀性、可重用性和可維護(hù)性,從而提高程序的效率和可靠性,需要的朋友可以參考下
    2023-04-04
  • Java下載遠(yuǎn)程服務(wù)器文件到本地(基于http協(xié)議和ssh2協(xié)議)

    Java下載遠(yuǎn)程服務(wù)器文件到本地(基于http協(xié)議和ssh2協(xié)議)

    這篇文章主要介紹了Java下載遠(yuǎn)程服務(wù)器文件到本地的方法(基于http協(xié)議和ssh2協(xié)議),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • Spring?MVC如何實(shí)現(xiàn)接口Controller定義控制器

    Spring?MVC如何實(shí)現(xiàn)接口Controller定義控制器

    這篇文章主要介紹了Spring?MVC如何實(shí)現(xiàn)接口Controller定義控制器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Maven本地倉(cāng)庫(kù)的配置以及修改默認(rèn).m2倉(cāng)庫(kù)位置

    Maven本地倉(cāng)庫(kù)的配置以及修改默認(rèn).m2倉(cāng)庫(kù)位置

    今天小編就為大家分享一篇關(guān)于Maven本地倉(cāng)庫(kù)的配置以及修改默認(rèn).m2倉(cāng)庫(kù)位置的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • SpringBoot實(shí)現(xiàn)自定義配置文件提示的方法

    SpringBoot實(shí)現(xiàn)自定義配置文件提示的方法

    這篇文章主要介紹了SpringBoot實(shí)現(xiàn)自定義配置文件提示的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • java中HashMap的7種遍歷方式與性能分析

    java中HashMap的7種遍歷方式與性能分析

    本文主要介紹了java中HashMap的7種遍歷方式與性能分析,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java9新特性Module模塊化編程示例演繹

    Java9新特性Module模塊化編程示例演繹

    這篇文章主要為大家介紹了Java9新特性Module模塊化編程的示例演繹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-03-03

最新評(píng)論

潞西市| 仙居县| 淮阳县| 兰考县| 宜良县| 夏河县| 手游| 和林格尔县| 莆田市| 韶关市| 德化县| 信丰县| 武宁县| 泰安市| 桐乡市| 建昌县| 子长县| 渭南市| 临高县| 鹤壁市| 商城县| 澎湖县| 两当县| 云南省| 玉树县| 临高县| 布尔津县| 晋城| 甘洛县| 鹿邑县| 浙江省| 福泉市| 胶州市| 沙坪坝区| 禹州市| 吴忠市| 龙游县| 凌云县| 全椒县| 浠水县| 赤水市|