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 - 网易云音乐是如何实现a标签href有值不跳转的?2. java - 前后端分离怎么解决后端数据太多的问题?3. java编程思想第4版中文版的几处谬误?4. javascript - 关于一些文档语法表示‘[,’5. python - 字符串里的u’u00a1’怎么打印成中文6. python中merge后文件莫名变得非常大7. mysql插入文本如果是个sql语句就报错了8. javascript - Vue.js2.0不能使用debounce后大伙一般是如何解决延迟请求的问题的呢。9. html5 - bootstrap修改样式的问题10. pdo_mysql 值自增写法

网公网安备