java - 為什么@Import引入一個config不能使用這個config中@Bean注解的方法?
問題描述
@Configurationpublic class CDPlayerConfig { @Bean public CompactDisc sgtPeppers(){return new SgtPeppers(); }@Bean public CDPlayer cdPlay(){return new CDPlayer(sgtPeppers()); }}
這個是能執行的
把
@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()是調用本類的方法,沒有定義當然編譯錯誤,和spring無關。這么改:
@Configuration@Import(CDConfig.class)public class CDPlayerConfig { @Bean public CDPlayer cdPlay(CompactDisc cd){return new CDPlayer(cd); }}回答2:
理解有誤
可以使用 @Bean @Qualifier配合
相關文章:
1. javascript - 在 model里定義的 引用表模型時,model為undefined。2. css3 - 這個右下角折角用css怎么畫出來?3. javascript - canvas 裁剪空白區域4. atom開始輸入!然后按tab只有空格出現沒有html格式出現5. css3 - 沒明白盒子的height隨width的變化這段css是怎樣實現的?6. java - 我設置了cookie的max age,但是cookie依然在關閉游覽器后消失了7. apache - 想把之前寫的單機版 windows 軟件改成網絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設服務器呢?8. javascript - 一個關于客戶端和前端通信的疑惑?9. python3.x - c++調用python310. java - 根據月份查詢多個表里的內容怎么實現好?
