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. objective-c - 微信支付的问题2. java - Spring boot 读取 放在 jar 包外的,log4j 配置文件,系统有创建日志文件,不写入日志信息。3. javascript - QQ第三方登录的问题4. docker内创建jenkins访问另一个容器下的服务器问题5. java - web端百度网盘的一个操作为什么要分两次请求服务器, 有什么好处吗6. 百度地图api - Android 百度地图点击线路图的问题?7. javascript - 使用百度文本编辑器ueditor不显示样式问题8. angular.js使用$resource服务把数据存入mongodb的问题。9. android - 优酷的安卓及苹果app还在使用flash技术吗?10. angular.js - angularjs 百度统计怎么统计

网公网安备