本文介紹了@Autwire稱不推薦現(xiàn)場注水的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
有人能告訴我為什么@Autwire說不推薦字段注入,而TextWriter對象‘Text’也說它不能自動(dòng)布線,因?yàn)橛胁恢挂粋€(gè)文本寫入器類型的Bean。My code.
推薦答案
有誰能告訴我為什么@Autwire說油田注入不是
推薦?
出于設(shè)計(jì)原因。將Bean直接注入字段會(huì)隱藏您的依賴項(xiàng),并鼓勵(lì)糟糕的設(shè)計(jì):
類API(公共/受保護(hù)成員)不會(huì)在它們存在時(shí)指定它們。
如果沒有反射或Spring容器(對我來說最重要的部分),就無法進(jìn)行單元測試
您可以通過聲明可能有多個(gè)注入的字段來結(jié)束。這可能會(huì)使您的類與其他類強(qiáng)耦合,而您并不真正意識(shí)到這一點(diǎn)。
一般來說,如果字段較少,則應(yīng)優(yōu)先使用構(gòu)造函數(shù)注入(從Spring4開始不需要使用@Autowired
來注釋構(gòu)造函數(shù)),否則應(yīng)使用setter方法。
這兩種方法都沒有上述所有缺點(diǎn)。
這篇關(guān)于@Autwire稱不推薦現(xiàn)場注水的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,