2
InterfaceA
유형의 두 가지 콩이 있습니다. @Qualifier
을 사용하여 이름으로 autowire를 사용하여 @Bean
메소드의 인수에 bean을 삽입하려고했습니다. 당신의 매개 변수 이름이 빈 이름과 일치하지 않으면 Spring이 적절한 빈을 해결할 수 없다는 것이 놀랍습니다.이름으로 봄 autowiring 매개 변수
@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) {...}
}
을하지만 NoUniqueBeanDefinitionException
을 가지고 :
나는 노력했다. 그러나 구성 요소 이름과 일치하는 매개 변수 이름을 사용하면 올바르게 작동합니다. 내가 여기 @Resource
또는 @Qualifier
로 이름에서 autowiring을 사용할 수없는 이유
@Configuration
public class AppConfig {
@Bean
@Autowired
public SomeOtherClass someOtherClass(InterfaceA classA) {...}
}
누군가 설명해 주시겠습니까?
전체 스택 트레이스를 추가하십시오 – Jens