当前位置: 首页 > news >正文

游戏排行榜2023手机优化大师怎么退款

游戏排行榜2023,手机优化大师怎么退款,tp框架做餐饮网站,建材有限公司在 Spring 框架中,Primary 注解用于解决依赖注入时的歧义性(Ambiguity)问题。当 Spring 容器中存在多个相同类型的 Bean 时,通过 Primary 标记其中一个 Bean 作为默认的首选注入对象。 核心作用: 解决多个同类型 Bean …

在 Spring 框架中,@Primary 注解用于解决依赖注入时的歧义性(Ambiguity)问题。当 Spring 容器中存在多个相同类型的 Bean 时,通过 @Primary 标记其中一个 Bean 作为默认的首选注入对象


核心作用:

  1. 解决多个同类型 Bean 的冲突
    当有多个实现同一接口或相同类型的 Bean 时,Spring 无法自动确定注入哪个 Bean,会抛出 NoUniqueBeanDefinitionException。使用 @Primary 可指定默认注入的 Bean。

  2. 隐式选择优先级
    被标记为 @Primary 的 Bean 会被优先注入,无需额外使用 @Qualifier 指定名称。


使用示例:

场景定义

假设有一个支付接口 PaymentService 和两个实现类:

public interface PaymentService {void pay();
}@Component
public class CreditCardService implements PaymentService {@Overridepublic void pay() { System.out.println("信用卡支付"); }
}@Component
public class AlipayService implements PaymentService {@Overridepublic void pay() { System.out.println("支付宝支付"); }
}
问题:依赖注入歧义

若直接注入 PaymentService,Spring 会报错:

@Autowired
private PaymentService paymentService; // 抛出 NoUniqueBeanDefinitionException
解决方案:使用 @Primary

标记其中一个实现类为默认首选:

@Component
@Primary // 指定为默认注入的 Bean
public class AlipayService implements PaymentService { ... }

此时注入会成功选择 AlipayService

@Autowired
private PaymentService paymentService; // 隐式注入 AlipayService

与其他注解的优先级:

  1. @Primary vs @Qualifier

    • @Qualifier 显式指定 Bean 名称的优先级高于 @Primary
    • 例如:@Autowired @Qualifier("creditCardService") 会覆盖 @Primary
  2. 多个 @Primary 的冲突
    如果多个同类型 Bean 都被标记为 @Primary,Spring 会再次抛出歧义异常。


常见使用场景:

  1. 数据库多数据源配置
    在多个 DataSource Bean 中,标记默认使用的数据源。
  2. 不同环境下的实现类
    例如在测试和生产环境中提供同一接口的不同实现,通过 @Primary 切换默认实现。
  3. 第三方库的扩展
    当覆盖第三方库提供的 Bean 时,将自己的实现标记为 @Primary

配置方式:

除了注解在类上,也可以在 @Bean 方法中使用:

@Configuration
public class AppConfig {@Bean@Primary // 标记此 Bean 为首选public PaymentService alipayService() {return new AlipayService();}
}

总结:

场景解决方案
多个同类型 Bean,需默认注入一个在目标 Bean 添加 @Primary
需要临时覆盖默认注入配合 @Qualifier 指定名称

关键点@Primary 是 Spring 解决依赖注入歧义性的轻量级方案,通过隐式指定默认 Bean 简化配置,但在需要精确控制的场景中仍需结合 @Qualifier 使用。

http://www.cadmedia.cn/news/8859.html

相关文章:

  • 网站开发建设收费标准安徽搜索引擎优化seo
  • 伍佰亿网站建设国外免费网站建设
  • seo如何提高网站排名搜索引擎优化包括哪些
  • 广州外贸公司网站建设百度收录的网站
  • 免费发布工程信息网站百度搜索引擎网站
  • 高端网站建设公司名称谷歌外链工具
  • 排名优化专家响应式网站 乐云seo品牌
  • 高校网站建设与管理问题分析关键词搜索挖掘爱网站
  • 怎么在微信做企业网站百度流量统计
  • 视频网站源码下载谷歌外链代发
  • 长沙有哪些网站建设公司seo推广顾问
  • 站长源码之家哪家网络营销好
  • 网站建设销售方面会遇到的问题seo的优点有哪些
  • 徐州seo顾问班级优化大师怎么用
  • 网站建设博采网站建设百度推广
  • 淘宝网站建设违规吗产品如何推广市场
  • 能用的手机网站河南今日重大新闻
  • 啄木鸟网站建设关键词排名优化工具有用吗
  • 可以自己做免费网站吗南京百度seo代理
  • 常州工程建设交易网免费seo网站推广
  • 咖啡网页制作素材河北百度seo点击软件
  • 唐山高端网站建设网站推广专家
  • 营销型网站建设试题seo什么意思
  • 网站建设多少钱一个平台深圳百度关键词排名
  • 怎么做自动跳转网站怎么建立网站平台
  • 九江网页设计公司东莞优化怎么做seo
  • 中国建设监理协会官方网站谷歌浏览器官网下载
  • 微信公众号平台官网首页2020 惠州seo服务
  • 网站建设一般要多钱seo优化外包顾问
  • 重庆网站建网络营销公司有哪些