您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

@Primary与@Autowired和@Qualifier批注之间的区别

@Primary与@Autowired和@Qualifier批注之间的区别

读取@Primary为“认”。

如果一个Bean @Autowired 没有 任何Bean@Qualifier,并且存在多个该类型的Bean,@Primary则将选择标记的候选Bean ,即,当没有其他可用信息(即@Qualifier丢失)时,它是认选择。

一个好的用例是,最初您只有一个类型的bean,因此没有使用任何代码@Qualifier。然后,当您添加一个bean时,您还将同时添加@Qualifier到旧bean和新bean中,因此任何人@Autowired都可以选择所需的bean 。通过添加@Primary到旧的原始bean中,您不必添加@Qualifier到所有现有的bean中@Autowired。可以这么说,他们是“祖父”。

@Primary如果例如95%的人@Autowired想要一个特定的豆,那也是很好的。这样,只有@Autowired想要其他bean的才需要指定@Qualifier。这样,您将拥有所有自动装配的主bean,并且@Qualifier仅用于请求“备用” bean。

其他 2022/1/1 18:25:06 有562人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶