java - 為什么@Import引入一個(gè)config不能使用這個(gè)config中@Bean注解的方法?
問(wèn)題描述
@Configurationpublic class CDPlayerConfig { @Bean public CompactDisc sgtPeppers(){return new SgtPeppers(); }@Bean public CDPlayer cdPlay(){return new CDPlayer(sgtPeppers()); }}
這個(gè)是能執(zhí)行的
把
@Beanpublic CompactDisc sgtPeppers(){ return new SgtPeppers();}
放到另一個(gè)配置文件中,然后通過(guò)@Import引入
@Configurationpublic class CDConfig { @Bean public CompactDisc sgtPeppers(){return new SgtPeppers(); }}
引入外部的配置文件
@Configuration@Import(CDConfig.class)public class CDPlayerConfig { @Bean public CDPlayer cdPlay(){return new CDPlayer(sgtPeppers()); }}
就找不到這個(gè)method
問(wèn)題解答
回答1:基本概念錯(cuò)誤,sgtPeppers()是調(diào)用本類的方法,沒(méi)有定義當(dāng)然編譯錯(cuò)誤,和spring無(wú)關(guān)。這么改:
@Configuration@Import(CDConfig.class)public class CDPlayerConfig { @Bean public CDPlayer cdPlay(CompactDisc cd){return new CDPlayer(cd); }}回答2:
理解有誤
可以使用 @Bean @Qualifier配合
相關(guān)文章:
1. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.2. 為什么我ping不通我的docker容器呢???3. android - webview 自定義加載進(jìn)度條4. mysql - 怎么讓 SELECT 1+null 等于 15. javascript - 微信音樂(lè)分享6. 網(wǎng)頁(yè)爬蟲(chóng) - 用Python3的requests庫(kù)模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?7. javascript - 微信小程序封裝定位問(wèn)題(封裝異步并可能多次請(qǐng)求)8. 并發(fā)模型 - python將進(jìn)程池放在裝飾器里為什么不生效也沒(méi)報(bào)錯(cuò)9. linux - openSUSE 上,如何使用 QQ?10. python 怎樣用pickle保存類的實(shí)例?
