欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

BeanUtils.copyProperties復(fù)制對(duì)象結(jié)果為空的原因分析

 更新時(shí)間:2022年06月15日 10:09:33   作者:小迪迦h  
這篇文章主要介紹了BeanUtils.copyProperties復(fù)制對(duì)象結(jié)果為空的原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

BeanUtils.copyProperties復(fù)制對(duì)象結(jié)果為空原因

細(xì)心比對(duì),發(fā)現(xiàn)原來(lái)是導(dǎo)錯(cuò)了包導(dǎo)致的

正確的包

import org.springframework.beans.BeanUtils;

錯(cuò)誤的包

import org.apache.commons.beanutils.BeanUtils;

兩個(gè)類(lèi)的區(qū)別

  • 兩者的copyProperties方法參數(shù)位置不同org.springframework.beans.BeanUtils: copyProperties(sourceDemo, targetDemo)
  • org.apache.commons.beanutils.BeanUtils: copyProperties(targetDemo, sourceDemo)
  • 要求兩個(gè)Bean的屬性名相同,且有對(duì)應(yīng)的setXxx方法和getXxx方法。其實(shí)底層原理是使用sourceDemo的getXxx方法和targetDemo的setXxx方法
  • sourceDemo有的屬性而targetDemo沒(méi)有的屬性,不會(huì)封裝到targetDemo對(duì)象中;targetDemo有的屬性而sourceDemo沒(méi)有的屬性,會(huì)封裝到targetDemo中,數(shù)據(jù)為默認(rèn)值(注意基本類(lèi)型默認(rèn)值與引用類(lèi)型默認(rèn)值不同)
  • 類(lèi)型轉(zhuǎn)換問(wèn)題:基本類(lèi)型與其對(duì)應(yīng)的封裝類(lèi)型可以相互轉(zhuǎn)換。org.springframework.beans.BeanUtils與org.apache.commons.beanutils.BeanUtils對(duì)于String和Date類(lèi)型轉(zhuǎn)換的情況是不同的

總結(jié):發(fā)現(xiàn)其實(shí)只需要將兩個(gè)對(duì)象換個(gè)位置就好了。。。

BeanUtils.copyProperties拷貝沒(méi)成功的坑,記錄解決原因

在使用BeanUtils時(shí),會(huì)先引用對(duì)應(yīng)的包,但是如果包引用不對(duì)的話,那么使用BeanUtils.copyProperties(Object value1, Object value2)進(jìn)行數(shù)據(jù)拷貝,可能是value1拷貝到value2上;也有可能是value2拷貝到value1上。

具體如下

包org.apache.commons.beanutils.BeanUtils, 則結(jié)果是:

  • value2拷貝到value1上,即value2的值會(huì)覆蓋到value1上;

包org.springframework.beans.BeanUtils, 則結(jié)果是:

  • value1拷貝到value2上,即value1的值會(huì)覆蓋到value2上。

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

相關(guān)文章

  • Java如何利用策略模式替代if/else語(yǔ)句

    Java如何利用策略模式替代if/else語(yǔ)句

    這篇文章主要介紹了Java如何利用策略模式替代if/else語(yǔ)句,幫助大家優(yōu)化自己的代碼,提高程序運(yùn)行效率,感興趣的朋友可以了解下
    2020-09-09
  • Java如何避免死鎖和競(jìng)態(tài)條件的實(shí)現(xiàn)

    Java如何避免死鎖和競(jìng)態(tài)條件的實(shí)現(xiàn)

    本文主要介紹了Java如何避免死鎖和競(jìng)態(tài)條件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • IDEA 2020.1.1好用的plugins插件推薦

    IDEA 2020.1.1好用的plugins插件推薦

    這篇文章主要介紹了IDEA 2020.1.1好用的plugins插件推薦,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • shiro攔截認(rèn)證的全過(guò)程記錄

    shiro攔截認(rèn)證的全過(guò)程記錄

    Apache?Shiro是一個(gè)強(qiáng)大且易用的Java安全框架,執(zhí)行身份驗(yàn)證、授權(quán)、密碼和會(huì)話管理,下面這篇文章主要給大家介紹了關(guān)于shiro攔截認(rèn)證的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Java如何求交集、并集、差集

    Java如何求交集、并集、差集

    這篇文章主要介紹了Java如何求交集、并集、差集問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • @CacheEvict 清除多個(gè)key的實(shí)現(xiàn)方式

    @CacheEvict 清除多個(gè)key的實(shí)現(xiàn)方式

    這篇文章主要介紹了@CacheEvict 清除多個(gè)key的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • java簡(jiǎn)單工廠模式實(shí)例及講解

    java簡(jiǎn)單工廠模式實(shí)例及講解

    這篇文章主要為大家詳細(xì)介紹了java簡(jiǎn)單工廠模式實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java多線程回調(diào)方法實(shí)例解析

    Java多線程回調(diào)方法實(shí)例解析

    這篇文章主要介紹了Java多線程回調(diào)方法實(shí)例解析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • jdbc結(jié)合dpcp連接池的封裝實(shí)例

    jdbc結(jié)合dpcp連接池的封裝實(shí)例

    下面小編就為大家?guī)?lái)一篇jdbc結(jié)合dpcp連接池的封裝實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • Spring?Boot監(jiān)控SQL運(yùn)行情況的全過(guò)程

    Spring?Boot監(jiān)控SQL運(yùn)行情況的全過(guò)程

    這篇文章主要給大家介紹了關(guān)于Spring?Boot監(jiān)控SQL運(yùn)行情況的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SpringBoot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02

最新評(píng)論