被忽略的Spring注解Primary

2021-10-20 From 程序之心 By 程序之心

在 Spring 中注入依赖,经常使用的是 @Resource、@Autowired。如果遇到一个类型有多个实例,可能还会用到 @Qualifier。实际上,Spring 还有 @Primary 可以用于解决 bean 实例冲突问题

在一个类型有多个实例时,@Primary 注解用于指定优先级最高的 bean。如果 @Primary 被使用了多次,也会触发多个优先级最高 bean 冲突,因此一个类型只能使用一次。

使用方法很简单,假设 A 类型有 A1、A2、A3 一共 3 个实例。如果在 A1 上使用 @Primary 注解,则注入 A 时如果没有使用 @Qualifier 或者 @Resource name 属性指定具体的实例,则默认自动注入 A1。其他需要 A2、A3 的地方则必须指定 A2、A3 的 name。

本文来源:程序之心,转载请注明出处!

本文地址:https://chengxuzhixin.com/blog/article/300307.html

发表感想

© 2016 - 2022 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号