我正在使用@ComponentScan@Component定义我的spring bean。我想将其中一个bean声明为autowire-candidate=false

这可以通过xml中的此属性来完成。注释中没有等效项吗?

我想要这个的原因是因为我有2个相同接口(interface)的实现,并且我不想使用@Qualifier

编辑:使用@Primary是一个有效的解决方法,但是在我看来autowire-candidate似乎是一个有用的功能,它具有自己的语义。

谢谢

最佳答案

看起来像Spring拒绝了autowire-candidate=false概念,并且不再支持它。没有带注释的类似物,因此@Primary是您注意到的最佳解决方法。

另一种方法是使用在org.springframework.beans.factory.support.AutowireCandidateResolver中使用的自定义DefaultListableBeanFactory,以及从 Autowiring 候选中排除不需要的bean的逻辑。在这种情况下,该技术将类似于autowire-candidate=false中用于SimpleAutowireCandidateResolver的技术。

关于java - 使用注解时如何声明Spring bean autowire-candidate ="false"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28065994/

10-12 03:13