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. android 使用 glide 加载gif 的时候图片显示问题2. docker-compose中volumes的问题3. angular.js - angularjs的自定义过滤器如何给文字加颜色?4. Java 中各种空(""、u0000、null)的区别?5. javascript - 安装cnpm一直出错6. java - Spring Boot中@EnableAutoConfiguration和@ComponengScan有什么区别?7. 什么是前后端分离?用vue angular等js框架就能实现前后分离了吗?8. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?9. ubuntu 远程管理KVM设置问题10. 用Python调用api之后,没有输出该如何解决?

网公网安备