使用 @Component 默认自动装配
我有一个接口及其 2 实现。我用 @Component 注释了这两个实现。当默认使用 @Autowired 注入时,如何将其中一个指定为默认 bean。
谢谢
I have an interface its 2 implementation. I annotate both implementations by @Component. How can I specific one of them to be the default bean when will be used to inject by @Autowired as default.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
@您认为具有更高优先级的 bean 上的主要
注释。来自文档
Use
@Primary
annotation on the bean which you think given higher priority.from doc
Autowired “按类型”工作,这意味着它可以在一个 bean 完全匹配时自动装配。当多个bean匹配时,使用Autowired + Qualifier注释。限定符调用要自动装配的 bean 名称。
这意味着当您声明组件时,您还需要命名它们。
Autowired works "by type", meaning it can autowire when exactly one bean matches. When more than one bean matches, use Autowired + Qualifier annotations. Qualifier calls out the name of the bean to autowire.
This means when you declare the Components you need to name them as well.