Java 按名称列出的弹簧自动接线参数

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

我有两个bean,类型为
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