課程
/后端開(kāi)發(fā)
/Java
/Spring入門(mén)篇
為什么注入是null呢
2018-10-23
源自:Spring入門(mén)篇 2-1
正在回答
使用junit測(cè)試時(shí),先通過(guò)反射生成一個(gè)測(cè)試類(lèi)對(duì)象。這個(gè)對(duì)象實(shí)例化之后,也就是jvm為他分配內(nèi)存,他包含的oneinterface也分配好相應(yīng)的內(nèi)存大小,但是沒(méi)有賦值,也就是null,因?yàn)檫@個(gè)時(shí)候還沒(méi)有加載spring*.xml文件,無(wú)法解析@Resource標(biāo)簽。之后調(diào)用其構(gòu)造函數(shù),就像你的例子里面,這個(gè)時(shí)候才去為配置文件賦值為spring*.xml。通過(guò)測(cè)試類(lèi)對(duì)象執(zhí)行測(cè)試方法的時(shí)候先執(zhí)行before,這個(gè)時(shí)候測(cè)試類(lèi)對(duì)象被用,因?yàn)榫€程安全,加載spring*.xml文件并正確掃描到了測(cè)試類(lèi),但是無(wú)法為測(cè)試類(lèi)對(duì)象注入,因?yàn)檫@塊內(nèi)存的讀取是線程安全的,所以oneinterface還是null。個(gè)人理解
問(wèn)題解決了嗎,mark一下
慕田峪5532335 提問(wèn)者
舉報(bào)
為您帶來(lái)IOC和AOP的基本概念及用法,為后續(xù)高級(jí)課程學(xué)習(xí)打下基礎(chǔ)
3 回答注解測(cè)試報(bào)錯(cuò)的問(wèn)題
2 回答注解里的applicationContext是啥
3 回答里面用到到是注解注入jdbc的配置信息,config.property,注解都有classpath:了,為什么xml中還有在引入config.property呢
2 回答設(shè)值注入的問(wèn)題
2 回答設(shè)值注入問(wèn)題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-11-29
使用junit測(cè)試時(shí),先通過(guò)反射生成一個(gè)測(cè)試類(lèi)對(duì)象。這個(gè)對(duì)象實(shí)例化之后,也就是jvm為他分配內(nèi)存,他包含的oneinterface也分配好相應(yīng)的內(nèi)存大小,但是沒(méi)有賦值,也就是null,因?yàn)檫@個(gè)時(shí)候還沒(méi)有加載spring*.xml文件,無(wú)法解析@Resource標(biāo)簽。之后調(diào)用其構(gòu)造函數(shù),就像你的例子里面,這個(gè)時(shí)候才去為配置文件賦值為spring*.xml。通過(guò)測(cè)試類(lèi)對(duì)象執(zhí)行測(cè)試方法的時(shí)候先執(zhí)行before,這個(gè)時(shí)候測(cè)試類(lèi)對(duì)象被用,因?yàn)榫€程安全,加載spring*.xml文件并正確掃描到了測(cè)試類(lèi),但是無(wú)法為測(cè)試類(lèi)對(duì)象注入,因?yàn)檫@塊內(nèi)存的讀取是線程安全的,所以oneinterface還是null。個(gè)人理解
2018-10-23
問(wèn)題解決了嗎,mark一下