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 - 有適合開發手機端Html5網頁小游戲的前端框架嗎?2. javascript - arguments.callee3. javascript - js setTimeout在雙重for循環中如何使用?4. java - 線上應用,如果數據庫操作失敗的話應該如何處理?5. atom開始輸入!然后按tab只有空格出現沒有html格式出現6. java - 創建maven項目失敗了 求解決方法7. mac里的docker如何命令行開啟呢?8. mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?9. mysql - linux連接數據庫報錯10. Phpstorm搭配Sqlsever2008實現PDO連接報錯
