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. angular.js - 请教angularjs里html和js通信的问题2. angular.js - 我想实现打印angular $scope数据,代码如何实现呢?求教(如下图)3. angular.js - angular2动态显示隐藏组件问题4. angular.js - 用angular2-cli打包项目之后,跳转路由刷新会报404的错误5. angular.js - angular-ueditor使用中,插入图片,加载完成后不更新angularmodel的问题;6. angular.js - 在用会话存储传递参数时,使用angularjs冲突7. jquery - angularjs的数据为什么渲染不到页面上?数据获取到了,我的代码哪里出了错了?8. node.js - 怎么在初始化的时候使得一个子组件不加载?9. python - 如何在docker上部署pyspider10. 新人做网站求帮助