java - 為什么@Import引入一個config不能使用這個config中@Bean注解的方法?
問題描述
@Configurationpublic class CDPlayerConfig { @Bean public CompactDisc sgtPeppers(){return new SgtPeppers(); }@Bean public CDPlayer cdPlay(){return new CDPlayer(sgtPeppers()); }}
這個是能執(zhí)行的
把
@Beanpublic CompactDisc sgtPeppers(){ return new SgtPeppers();}
放到另一個配置文件中,然后通過@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()); }}
就找不到這個method
問題解答
回答1:基本概念錯誤,sgtPeppers()是調(diào)用本類的方法,沒有定義當(dāng)然編譯錯誤,和spring無關(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. javascript - 如圖,百度首頁,查看源代碼為什么什么都沒有?2. android - weex 項目createInstanceReferenceError: Vue is not defined3. html - 關(guān)于CSS實現(xiàn)border的0.5px設(shè)置?4. javascript - 原生APP內(nèi)嵌H5頁面分享到微信朋友圈,二次分享問題。5. javascript - 為什么clearInterVal不起作用呢?6. PHPExcel表格導(dǎo)入數(shù)據(jù)庫怎么導(dǎo)入7. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點8. pdo 寫入到數(shù)據(jù)庫的內(nèi)容為中文的時候?qū)懭雭y碼9. PHP類封裝的插入數(shù)據(jù),總是插入不成功,返回false;10. vue2.0+webpack 如何使用bootstrap?
