課程
/后端開(kāi)發(fā)
/Java
/Spring入門(mén)篇
這是為毛完全蒙逼了
2017-05-22
源自:Spring入門(mén)篇 3-4
正在回答
構(gòu)造方法就是用constractor自動(dòng)裝配 ??
byname和bytype只是裝配類型不同 不能用于構(gòu)造方法
以下來(lái)自百度
byName 根據(jù)屬性名自動(dòng)裝配。此選項(xiàng)將檢查容器并根據(jù)名字查找與屬性完全一致的bean,并將其與屬性自 動(dòng)裝配。例如,在bean定義中將 autowire設(shè)置為by name,而該bean包含master屬性(同時(shí)提供 setMaster(..)方法),Spring就會(huì)查找名為master的bean定義,并用它來(lái)裝配給master屬性。byType 如果容器中存在一個(gè)與指定屬性類型相同的bean,那么將與該屬性自動(dòng)裝配。如果存在多個(gè)該類型的 bean,那么將會(huì)拋出異常,并指出不能使用byType方式進(jìn)行自動(dòng)裝配。若沒(méi)有找到相匹配的bean, 則什么事都不發(fā)生,屬性也不會(huì)被設(shè)置。如果你不希望這樣,那么可以通過(guò)設(shè)置? dependency-check="objects"讓Spring拋出異常。
丶子非魚(yú) 提問(wèn)者
舉報(bào)
為您帶來(lái)IOC和AOP的基本概念及用法,為后續(xù)高級(jí)課程學(xué)習(xí)打下基礎(chǔ)
3 回答byName測(cè)試的時(shí)候 autoWiringDao沒(méi)有set成功,service.say方法調(diào)用的時(shí)候,為什么沒(méi)有拋nullPointerException?
3 回答byName是怎么完成自動(dòng)裝配的?set方法是什么時(shí)候被調(diào)用的?
2 回答為什么執(zhí)行bean的時(shí)候不用main方法?
4 回答為什么我的setApplicationContext方法在初始化的時(shí)候沒(méi)有被調(diào)用???
2 回答default-autowire="byName"
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)
2017-05-22
構(gòu)造方法就是用constractor自動(dòng)裝配 ??
byname和bytype只是裝配類型不同 不能用于構(gòu)造方法
以下來(lái)自百度
byName 根據(jù)屬性名自動(dòng)裝配。此選項(xiàng)將檢查容器并根據(jù)名字查找與屬性完全一致的bean,并將其與屬性自
動(dòng)裝配。例如,在bean定義中將 autowire設(shè)置為by name,而該bean包含master屬性(同時(shí)提供
setMaster(..)方法),Spring就會(huì)查找名為master的bean定義,并用它來(lái)裝配給master屬性。
byType 如果容器中存在一個(gè)與指定屬性類型相同的bean,那么將與該屬性自動(dòng)裝配。如果存在多個(gè)該類型的
bean,那么將會(huì)拋出異常,并指出不能使用byType方式進(jìn)行自動(dòng)裝配。若沒(méi)有找到相匹配的bean,
則什么事都不發(fā)生,屬性也不會(huì)被設(shè)置。如果你不希望這樣,那么可以通過(guò)設(shè)置?
dependency-check="objects"讓Spring拋出異常。
2018-08-19
在用 default-autowire的時(shí)候值為byname和bytype時(shí)? 不是不能添加構(gòu)造方法,你應(yīng)該是沒(méi)有添加無(wú)參的構(gòu)造方法,所以才報(bào)錯(cuò)的。當(dāng)你添加了有參的構(gòu)造方法的時(shí)候,系統(tǒng)就不會(huì)為你添加默認(rèn)的無(wú)參的構(gòu)造方法了。而byName和byType的時(shí)候是需要無(wú)參構(gòu)造方法的。