java - 為什么@Import引入一個(gè)config不能使用這個(gè)config中@Bean注解的方法?
問題描述
@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è)配置文件中,然后通過@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
問題解答
回答1:基本概念錯(cuò)誤,sgtPeppers()是調(diào)用本類的方法,沒有定義當(dāng)然編譯錯(cuò)誤,和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. 前端 - html5 audio不能播放2. java固定鍵值轉(zhuǎn)換,使用枚舉實(shí)現(xiàn)字典?3. vim - win10無法打開markdown編輯器4. mysql - 千萬數(shù)據(jù) 分頁,當(dāng)偏移量 原來越大時(shí),怎么優(yōu)化速度5. 如何解決tp6在zend中無代碼提示6. javascript - 有沒有類似高鐵管家的時(shí)間選擇插件7. 這是什么情況???8. python - flask學(xué)習(xí),user_syy添加報(bào)role is invalid keyword for User.9. css - BEM 中塊(Block)有木有什么標(biāo)準(zhǔn) 何時(shí)決定一個(gè)部分提取為塊而不是其父級(jí)的元素呢(Element)?~10. javascript - 微信網(wǎng)頁開發(fā)從菜單進(jìn)入頁面后,按返回鍵沒有關(guān)閉瀏覽器而是刷新當(dāng)前頁面,求解決?
