news 2026/7/3 11:25:50

【Spring】防止注入Bean产生冲突

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Spring】防止注入Bean产生冲突

一.三个注解注入区别

1.1@Autowired

1.1.1注入规则

优先按照类型byType注入

1.1.2可能遇到的情况

同类型存在多个Bean(比如同一个接口多个实现类),会报NoUniqueBeanDefinitionException冲突。

1.1.3具体例子

1. 顶层父接口(全类名:com.huibo.cloud.service.PayService

package com.huibo.cloud.service; public interface PayService { void pay(Long orderId); }

2. 实现类 1 支付宝支付(全类名:com.huibo.cloud.service.impl.AliPayServiceImpl

package com.huibo.cloud.service.impl; import com.huibo.cloud.service.PayService; import org.springframework.stereotype.Service; @Service public class AliPayServiceImpl implements PayService { @Override public void pay(Long orderId) { System.out.println("支付宝支付"); } }

3. 实现类 2 微信支付(全类名:com.huibo.cloud.service.impl.WxPayServiceImpl

package com.huibo.cloud.service.impl; import com.huibo.cloud.service.PayService; import org.springframework.stereotype.Service; @Service public class WxPayServiceImpl implements PayService { @Override public void pay(Long orderId) { System.out.println("微信支付"); } }

@Autowired

报错:

NoUniqueBeanDefinitionException: No qualifying bean of type 'com.huibo.cloud.service.PayService' available: expected single matching bean but found 2: aliPayServiceImpl,wxPayServiceImpl

1.1.4解决冲突的方法

配合@Qualifier使用。(可以配合MapperScan的nameGenerator属性使用)

1.2@Qualifier("Bean名称")

1.2.1注入规则

配合@Autowired检索类型,精准匹配名称对应的实现类

1.3Resource

1.3.1注入规则

(变量名和beanName一致)优先按照变量名去进行匹配,找不到才降级按类型做匹配

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 11:23:19

Linux基础命令实战:进程管理、磁盘操作与数据处理

Linux基础命令实战:进程管理、磁盘操作与数据处理 前言 在Linux系统管理中,熟练掌握各类基础命令是必备技能。本文将系统性地介绍进程管理、磁盘操作、数据排序与检索、文件压缩归档等核心命令,并通过实际操作演示帮助大家建立完整的知识框架…

作者头像 李华
网站建设 2026/7/3 11:23:11

Python本体推理与知识表示实战指南

1. 项目概述:Python本体推理与知识表示实战在语义网和人工智能技术蓬勃发展的当下,知识表示与推理已成为智能系统的核心能力。本项目将基于Python生态中的OWLready2工具包,深入解析如何构建本体模型、实现自动化推理以及构建实际应用系统。通…

作者头像 李华
网站建设 2026/7/3 11:22:20

告别网盘限速!9大云存储平台文件加速下载工具使用指南

告别网盘限速!9大云存储平台文件加速下载工具使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

作者头像 李华
网站建设 2026/7/3 11:18:05

SAP文件上传XSS漏洞攻防:从SVG会话劫持到纵深防御实践

1. 项目概述:从一次“意外”的会话劫持说起 几年前,我在一次针对某大型企业SAP系统的常规安全评估中,遇到了一个让我至今印象深刻的场景。客户的安全团队信誓旦旦地表示,他们的文件上传功能已经做了“万全”的防护,包…

作者头像 李华
网站建设 2026/7/3 11:17:59

本地好吃的餐饮服务商

周末跟朋友约着觅食,最先钻进了某知名连锁捞面馆——刚坐下就闻到一股预制菜加热的塑料感,浇头软塌塌没半点锅气,骨汤喝一口就口干发腻,标准化流水线的味道,总缺了点市井烟火气。正郁闷着,朋友拽起我就走&a…

作者头像 李华