SpringIOC之@Primary

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用ChatGPT,微信支付,扫码加群

点击这里预览

🍅开源项目免费哦(有vue2与vue3版本): 击这里克隆或者下载    🍅

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12199600.html

有需求代码永远写不完,而方法才是破解之道,抖音有实战视频课程,某马某千等培训都是2万左右,甚至广东有本科院校单单一年就得3万4年就12万学费,而且还没有包括吃饭的钱。所以很划算了。另外博客左侧有源码阅读专栏,对于求职有很大帮助,当然对于工作也是有指导意义等。在大城市求职,你面试来回一趟多多少少都在12块左右,而且一般不会一次性就通过,还得面试几家。而如果你对源码以及微服务等有深度认识,这无疑给你的面试添砖加瓦更上一层楼。

最后再送一句:最好是学会了,而不是学废了!!!

@Primary 是 Spring 框架中的一个注解,用于解决依赖注入中的多个候选 Bean 的歧义性问题。当有多个相同类型的 Bean 可以注入到一个依赖关系中时,使用 @Primary 注解可以指定一个主要(Primary)的 Bean,Spring 将优先选择注入这个主要的 Bean。

以下是关于 @Primary 注解的一些重要信息和用法:

  1. 用法:@Primary 注解通常用在一个或多个 Bean 的类级别上,用于标记哪一个 Bean 是首选的。
@Component
@Primary
public class MyPrimaryBean implements MyInterface {
    // Bean 的内容...
}
  1. 在上述示例中,MyPrimaryBean 被标记为首选 Bean,当需要注入类型为 MyInterface 的 Bean 时,Spring 将优先选择这个 Bean。
  2. 解决歧义性:@Primary 主要用于解决依赖注入中的歧义性问题。当有多个相同类型的 Bean 可以注入到一个依赖关系中时,Spring 需要确定使用哪一个 Bean。通过将其中一个 Bean 标记为首选(Primary),你可以告诉 Spring 优先选择这个 Bean。
  3. 与@Qualifier 结合使用:如果你希望在多个首选 Bean 中选择一个特定的 Bean,可以结合使用 @Primary 和 @Qualifier 注解。@Qualifier 允许你指定要注入的 Bean 的名称或限定符。
@Component
@Primary
@Qualifier("myPrimary")
public class MyPrimaryBean implements MyInterface {
    // Bean 的内容...
}
  1. 在上述示例中,@Qualifier("myPrimary") 指定了要注入的 Bean 的名称。
  2. 多个首选 Bean:你可以在同一类型的多个 Bean 上使用 @Primary 注解,但在这种情况下,Spring 会抛出异常,因为无法确定哪个 Bean 是真正的首选项。

总之,@Primary 注解用于标记一个 Bean 为首选 Bean,以解决依赖注入中的多个 Bean 歧义性问题。通过指定首选 Bean,你可以告诉 Spring 在发生依赖注入时优先选择该 Bean。这对于确保正确的 Bean 被注入到依赖关系中非常有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/252815.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣刷题-二叉树-找树左下角的值

513 找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 示例 2: 思路 层序遍历 直接层序遍历,因为题目说了是最底层,最左边的值&a…

【数据结构—队列的实现】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、队列 1.1队列的概念及结构 二、队列的实现 2.1头文件的实现—Queue.h 2.2源文件的实现—Queue.c 2.3源文件的测试—test.c 三、测试队列实际数据的展示 3.…

mysql使用st_distance_sphere函数报错Incorrect arguments to st_distance_sphere

前言 最近使用空间点位查询数据时函数报错Incorrect arguments to st_distance_sphere报错。 发现问题 因为之前是没有问题的,所以把问题指向了数据,因为是外部数据,不是通过系统打点获取,发现是因为经纬度反了,loc…

VRRP(虚拟路由冗余协议)

一.VRRP简介 1.VRRP是什么 Virtual route Redundancy Protocol,也叫虚拟路由器冗余协议。 利用VRRP,一组路由器协同工作,单只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任…

MapReduce序列化实例代码

1 )需求:统计每个学号该月的超市消费、食堂消费、总消费 2 )输入数据格式 序号 学号 超市消费 食堂消费 18 202200153105 8.78 12 3 )期望输出格式 key (学号) value ( bean 对象&#xf…

二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现

二分查找的概念 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 实现原理 首先,假设表中元素是按升序…

深度学习项目实战:垃圾分类系统

简介: 今天开启深度学习另一板块。就是计算机视觉方向,这里主要讨论图像分类任务–垃圾分类系统。其实这个项目早在19年的时候,我就写好了一个版本了。之前使用的是python搭建深度学习网络,然后前后端交互的采用的是java spring …

VLAN间的通讯---三层交换

一.三层交换 1.概念 使用三层交换技术实现VLAN间通信 三层交换二层交换 三层转发 2.基于CEF的MLS CEF是一种基于拓补转发的模型 转发信息库(FIB)临接关系表 转发信息库(FIB)可以理解为路由表 邻接关系表可以理解为MAC地址表…

js获取日期

目录 Date 对象 1. 获取当前时间 2. 获取特定日期时间 Date 对象的方法 1. 获取各种日期时间组件 2. 获取星期几 3. 获取时间戳 格式化日期时间 1. 使用 toLocaleString() 方法 2. 使用第三方库 UNIX 时间戳 内部表示 时区 Date 对象 JavaScript中内置的 Date 对象…

【sqli靶场】第六关和第七关通关思路

目录 前言 一、sqli靶场第六关 1.1 判断注入类型 1.2 观察报错 1.3 使用extractvalue函数报错 1.4 爆出数据库中的表名 二、sqli靶场第七关 1.1 判断注入类型 1.2 判断数据表中的字段数 1.3 提示 1.4 构造poc爆库名 1.5 构造poc爆表名 1.6 构造poc爆字段名 1.7 构造poc获取账…

MySQL 报错 You can‘t specify target table for update in FROM clause解决办法

You can’t specify target table for update in FROM clause 其含义是:不能在同一表中查询的数据作为同一表的更新数 单独执行复合查询是正常的,如下: 但是当执行子查询删除命令时,报如下错误 DELETE FROM abpusers WHERE Id I…

SLAM学习笔记001

当向机器人下达移动到地点B的命令后,机器人不免会问三个颇具哲学性的问题,即“我在哪儿”“我将到何处去”“我该如何去”。slam导航技术涵盖:航天、军事、特种作业、工业生产、智慧交通、消费娱乐等slam导航的经典应用:火星探测车…

vue3父组件调用子组件el-dialog对话框

vue3父组件调用子组件el-dialog对话框 在写项目的时候,经常要使用父子组件通讯,我已经写了很多篇博客来介绍父子组件通讯了,vue中的父子组件通讯方式有差不多10来种,最常用的就那么一两种,这里我介绍其中我认为最基础…

【计算机网络】—— 详解码元,传输速率的计算|网络奇缘系列|计算机网络

🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 目录 码元 速率和波特 思考1 思考2 思考3 带宽(Bandwidth) 📝总结 码元…

【Vulnhub 靶场】【IA: Keyring (1.0.1)】【中等】【20210730】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/ia-keyring-101,718/ 靶场下载:https://download.vulnhub.com/ia/keyring-v1.01.ova 靶场难度:中等 发布日期:2021年07月30日 文件大小:1.1 GB 靶场作者&#xf…

操作系统基础知识

本文用于记录学习W3schools的操作系统教程。 操作系统基础知识 操作系统概括操作系统的8个组件1 流程管理2 I/O设备管理3 文件管理4 网络管理5 内存管理6 磁盘管理(辅助存储管理)7 安全管理8 命令解释系统 操作系统类型 操作系统概括 操作系统: 计算机系统可以分为…

Threejs利用着色器编写动态飞线特效

一、导语 动态飞线特效是可视化数据地图中常见的需求之一,鼠标点击的区块作为终点,从其他区块飞线至点击区块,附带颜色变换或者结合粒子动画 二、分析 利用创建3点来构成贝塞尔曲线,形成线段利用着色器材质来按照线段以及时间…

[C++] 多态(上) -- 抽象类、虚函数、虚函数表

文章目录 1、多态的概念2、多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数的重写2.4 虚函数重写的两个例外2.4.1 协变(基类与派生类虚函数返回值类型不同) 2.4.2 析构函数的重写(基类与派生类析在这里插入图片描述2.4.3 选择题测试 2.5 C11 final 和 override2.5.1 f…

web(HTML之表单练习)

使用HTML实现该界面: 要求如下: 用户名为文本框,名称为 UserName,长度为 15,最大字符数为 20。 密码为密码框,名称为 UserPass,长度为 15,最大字符数为 20。 性别为两个单选按钮&a…

Linux 下的PROC虚拟文件夹的介绍

#江南的江 #每日鸡汤:其一半亩方塘一鉴开,天光云影共徘徊。问渠哪得清如许?为有源头活水来 #初心和目标:在网络安全中崭露头角 PROC 一.proc的文件里的文件是对于计算机的基本信息的介绍。 其中数字文件是代表着进程,其余的例如cpuinfo…