Java 按名称列出的弹簧自动接线参数
我有两个bean,类型为Java 按名称列出的弹簧自动接线参数,java,spring,Java,Spring,我有两个bean,类型为InterfaceA。 我试图将bean注入@bean方法的参数中,使用@Qualifier按名称自动连接。 我很惊讶Spring无法解析正确的bean,除非您的参数名与bean名匹配 我试着: @Component public class ClassA implements InterfaceA { } @Component public class ClassB implements InterfaceA { } @Configuration public cl
InterfaceA
。
我试图将bean注入@bean
方法的参数中,使用@Qualifier
按名称自动连接。
我很惊讶Spring无法解析正确的bean,除非您的参数名与bean名匹配
我试着:
@Component
public class ClassA implements InterfaceA {
}
@Component
public class ClassB implements InterfaceA {
}
@Configuration
public class AppConfig {
@Bean
@Autowired
@Qualifier("classA")
public SomeOtherClass someOtherClass(InterfaceA object) {...}
}
但是得到了名词和定义异常
。
但是,如果我使用与组件名称匹配的参数名称,它就可以正常工作
@Configuration
public class AppConfig {
@Bean
@Autowired
public SomeOtherClass someOtherClass(InterfaceA classA) {...}
}
有人能解释一下为什么我不能在这里对
@Resource
或@Qualifier
使用自动命名吗?将@Qualifier
注释添加到参数而不是方法中:
public SomeOtherClass someOtherClass(@Qualifier("classA") InterfaceA object) {...}
请添加完整的Stacktrace