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. 致命錯誤: Class ’appfacadeTest’ not found2. html5 - 如何實現帶陰影的不規則容器?3. objective-c - iOS開發支付寶和微信支付完成為什么跳轉到了之前開發的一個app?4. css - 移動端字體設置問題5. python - 管道符和ssh傳文件6. javascript - 循環嵌套多個promise應該如何實現?7. mysql優化 - 關于mysql分區8. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應9. css3 - rem布局下,用戶瀏覽器的最小字號是12px怎么辦?10. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出
