2
タイプInterfaceA
の2つの豆があります。 私は@Qualifier
を使ってautowireという名前で@Bean
メソッドの引数にBeanを注入しようとしていました。 私は、あなたのパラメータ名がBean名と一致しない限り、Springが適切な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) {...}
}
をしかしNoUniqueBeanDefinitionException
を得た:
私がしようとしていました。 しかし、コンポーネント名と一致するパラメータ名を使用するとうまく動作します。私はここに@Resource
または@Qualifier
と名前でオートワイヤリングを使用できない理由
@Configuration
public class AppConfig {
@Bean
@Autowired
public SomeOtherClass someOtherClass(InterfaceA classA) {...}
}
誰かが説明してもらえますか?
完全なスタックトレースを追加してください。 – Jens