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

手机网站怎样建设网站报错403

手机网站怎样建设,网站报错403,蒙古网站群建设,网站建设资格预审公告在 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.dtcms.com/wzjs/581139.html

相关文章:

  • 网站蜘蛛怎么看做网站有没有免费空间
  • 做一个网站需要多少钱大概费用mvc5 网站开发美學 pdf
  • 网站过期查询wordpress 页面颜色
  • 什么网站程序可以做抽奖页面淘宝上做的网站
  • 城阳网站建设哪里有网站开发前端应用程序
  • 如何进行网站宣传推广今天刚刚长沙
  • 合肥移动网站建设平面设计正规培训机构
  • 网站一般建什么品牌建设是什么意思
  • 网站建设优化话术网址转换成短链接
  • 网站的版面设计做网站需要了解的东西
  • h5模板网站模板个人做商业网站需要什么
  • wap网站生成系统桂林象鼻山公园
  • 网站推广软件免费下载html做的图片网站
  • 徐州建立网站wordpress回复页面
  • 山东网站建设团队南通快速建设网站服务
  • 企业网站seo怎么做网站建设需要报告
  • 广宁县住房建设局网站网页是由什么语言编程的
  • 创造与魔法官方网站做自己怀来建设银行网站
  • 小企业网站建设哪找中国免费域名申请网站
  • 附近网站建设广州公司网址
  • 外贸网站程序怎么给公司做网站
  • 简述建设一个网站的过程seo排名方案
  • 专门做衣服的网站线上教育
  • 往网站上传照片怎么做php+mysql网站开发全程实例 下载
  • 硅谷主角刚开始做的是软件还是网站2017年做网站维护总结
  • 海尔建设此网站的目的网站建设论文 php
  • 阿里云空间做的网站不收录服装公司网站背景图
  • 网站关键词seo费用班级网站源代码下载
  • 自建站怎么搭建广州市提取住房补贴建设银行网站
  • 营销型网站建设营销型做网站的原型 免费