第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于BeanUtils.copyProperties() 方法的問(wèn)題

BeanUtils.copyProperties(obj1,obj2)這個(gè)方法難道不是將obj2的值賦給obj1嗎,而老師說(shuō)最開(kāi)始加載resource的時(shí)候?qū)傩灾稻蜁?huì)一一對(duì)應(yīng)賦值,而Resource bean = new Resource()中的bean是new出來(lái),應(yīng)該沒(méi)有值,按照老師代碼中的順序BeanUtils.copyProperties(resource,bean)這不是把bean的值賦給resource嗎,那bean中依舊是沒(méi)有值的哇?沒(méi)明白這個(gè)問(wèn)題。


正在回答

4 回答

這個(gè)我看視頻的時(shí)候也想到了,然后測(cè)試了一下,直接讓return resource;的話會(huì)出現(xiàn)錯(cuò)誤的,不會(huì)正確顯示的。你把它toString輸出一下,可以看到自動(dòng)裝配后的resource是一個(gè)完整類名加后面一串類似這樣的東西“$$EnhancerBySpringCGLIB$$9a1fe978@5eef9e0”,這說(shuō)明它是spring給你生成的一個(gè)原來(lái)類的動(dòng)態(tài)代理。這個(gè)動(dòng)態(tài)代理是不能通過(guò)json顯示出來(lái)的。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Henry_Liu

說(shuō)得對(duì)
2018-12-05 回復(fù) 有任何疑惑可以回復(fù)我~

這個(gè)自己測(cè)試下就知道了。第一次通過(guò)資源文件映射的bean不是標(biāo)準(zhǔn)的Resource類的,帶有其他的屬性,這時(shí)候直接返回的話jackson無(wú)法轉(zhuǎn)換,會(huì)報(bào)錯(cuò)。所以我們可以看到通過(guò)BeanUtils.copyProperties來(lái)獲取標(biāo)準(zhǔn)的Resource類的bean,這時(shí)候就可以進(jìn)行json轉(zhuǎn)換了。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

一個(gè)霸氣側(cè)漏的名字

謝大佬,我說(shuō)怎么不能直接返回resource呢(我沒(méi)按照老師的打BeanUtils.copyProperties(),所以出錯(cuò)了還不知道因?yàn)樯丁?。。?/div>
2019-07-07 回復(fù) 有任何疑惑可以回復(fù)我~

resource是交給Spring創(chuàng)建的單實(shí)例對(duì)象,在項(xiàng)目啟動(dòng)時(shí)Spring就會(huì)按照注解配置給該對(duì)象賦值。而new出來(lái)的bean對(duì)象,雖然與resource使用的同樣的class對(duì)象,但卻是不同的加載方式,不會(huì)有初始值。

0 回復(fù) 有任何疑惑可以回復(fù)我~

你可能有些問(wèn)題沒(méi)想明白,我簡(jiǎn)單說(shuō)下問(wèn)題的關(guān)鍵。

首先,老師是創(chuàng)建了資源配置文件,并設(shè)置了幾個(gè)屬性值,如下圖:

https://img1.sycdn.imooc.com//5b52b25d0001310004860084.jpg

然后在Resource類中通過(guò)注解的方式為每個(gè)成員變量都讀取設(shè)置了上面資源配置文件里的屬性值,如下圖:

https://img1.sycdn.imooc.com//5b52b2c5000191f606020155.jpg

這樣簡(jiǎn)單來(lái)說(shuō),Resource類中定義的成員變量其實(shí)都是有值的,效果如下圖:

https://img1.sycdn.imooc.com//5b52b34c0001053006840215.jpg

認(rèn)真對(duì)比上面兩張圖,應(yīng)該明白了吧,在你new出Resource對(duì)象時(shí),其實(shí)該對(duì)象的每個(gè)屬性都是有值的。上面的我個(gè)人的淺顯理解,可能敘述不太準(zhǔn)確,目前,我也在積極學(xué)習(xí)中,正好看到你的問(wèn)題,希望可以幫到你,。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

濸笙 提問(wèn)者

bean本來(lái)就有值了,而他輸出的是bean,那他代碼中屬性值拷貝還有必要嗎?
2018-07-22 回復(fù) 有任何疑惑可以回復(fù)我~
#2

濸笙 提問(wèn)者

.....在這里bean是沒(méi)有初始值的,而且還有兩個(gè)不同的BeanUtils類, 一個(gè)為org.springframework.beans.BeanUtils, 另一個(gè)是org.apache.commons.beanutils.BeanUtils, 這兩個(gè)類在不同的包下面,而這兩個(gè)類的copyProperties()方法里面?zhèn)鬟f的參數(shù)賦值是相反的。 被這個(gè)給迷了
2018-07-22 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于BeanUtils.copyProperties() 方法的問(wèn)題

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)