@Qualifier注解作用

article/2025/11/9 8:27:02

@Qualifier 注解作用就是为了给Bean打上一个标记,用来查找bean,代码示例:

在这里插入图片描述

  1. 创建一个java bean
package com.gupaoedu.springcloud.example.demo;public class TestClass {private String name; // getter setter 略
}
  1. 编写配置类,将这个bean装载到IOC容器
package com.gupaoedu.springcloud.example.demo;import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class TestConfiguration {@Bean("testClass1")TestClass testClass1(){return new TestClass("TestClass1");}@Qualifier@Bean("testClass2")TestClass testClass2(){return new TestClass("TestClass2");}
}
  1. 启动类,配置扫描包
package com.gupaoedu.springcloud.example.springclouduserservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;@ComponentScan(basePackages = "com.gupaoedu")
@SpringBootApplication
public class SpringCloudUserServiceApplication {public static void main(String[] args) {SpringApplication.run(SpringCloudUserServiceApplication.class, args);}
}
  1. 测试controller 对testClassList 加上@Qualifier注解
package com.gupaoedu.springcloud.example.demo;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Collections;
import java.util.List;
@RestController
public class TestController {@Qualifier@AutowiredList<TestClass> testClassList= Collections.emptyList();@GetMapping("/test")public Object test(){return testClassList;}}

然后启动,访问/test, 看到只打印了 TestClass2
在这里插入图片描述
然后对testClass1 Bean的注入,也加上@Qualifier注解后再请求/test

@Qualifier
@Bean("testClass1")TestClass testClass1(){return new TestClass("TestClass1");}

结果如下,可以看到,只有加了@Qualifier标记的Bean, 才会被注入给同样加了@Qualifier标记的 testClassList 这个list中
在这里插入图片描述
注: 本文是为了给ribbon负载均衡原理中, @LoadBalanced注解实现负载均衡的原理做铺垫;


http://chatgpt.dhexx.cn/article/LAJ1HI7f.shtml

相关文章

Spring的注解@Qualifier用法

Spring的注解Qualifier用法 在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢&#xff1f; 根据注入资源的注解不同实现的方式有一点小小的区别 下面上铺垫图 请忽略我的红线 ##在Controller中使用 Autowired注入时 Qualifier的意思是合格…

java连接mysql数据库实现图书馆管理系统

图书馆管理系统&#xff0c;具体功能包括&#xff1a; 1. 用户登录 2. 用户注册 3. 新图书入库 4. 图书信息查询 5. 图书更新&#xff08;修改&#xff09; 6. 旧图书删除 7. 办理借阅证登记 8. 图书借阅管理 完整项目&#xff1a;https://download.csdn.net/download/sger123/…

图书馆管理系统(使用数据库实现)

到现在&#xff0c;终于结束了javaSE基础部分的学习。结束前最后一个项目就是使用数据库实现图书管理系统。 整体项目功能流程结构图&#xff1a; 项目开发前的准备&#xff1a; 软件需求说明书 是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解&…

图书馆管理系统(Java Web)

图书馆管理系统&#xff08;Java Web&#xff09; 概述 基于Spring Spring MVC MyBatis的图书馆管理系统&#xff0c;使用Maven进行包管理。主要功能包括&#xff1a;图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。 项目演示 演示地址 &…

创建和管理图书管理系统数据库

1&#xff0e; 使用对象资源管理器建立名为“book”的数据库。数据文件和日志文件采用默认方式。 2&#xff0e;使用T-SQL命令建立名为“bookmanager”的数据库&#xff0c;并自定义数据文件和日志文件。 create database bookmanager on primary (namebookmanager_data, file…

数据库课程设计实验报告--图书馆管理系统

一、系统平台 开发工具&#xff1a;Eclipse java Mars 数据库 MySQL server&#xff0c;Navicat可视化工具 操作系统&#xff1a;win10 声明&#xff1a;由于该项目已是四年前大一时所做&#xff0c;时隔已久&#xff0c;且本人已不从事java相关工作&#xff0c;恕不能解答…

图书管理系统 数据库课程实验设计

本课设系软件工程大二学生作&#xff0c;拙笔狂言&#xff0c;恭请斧正。 开发工具&#xff1a;Eclipse 2020-12&#xff0c;Microsoft SQL server 2012 程序语言&#xff1a;Java 引 言 选题题目&#xff1a;图书管理系统 选题背景&#xff1a; &#xff08;1&#xff09;图书…

图书馆管理系统(数据库版)

图书馆管理系统&#xff08;数据库版&#xff09; 目录&#xff1a; 图书馆管理系统&#xff08;数据库版&#xff09;项目框架项目分包数据库列表代码分析工具包所用到的接口&#xff1a; 分享一波&#xff1a;总结&#xff1a; 项目框架 项目分包 上面为本次项目的分包建包示…

图书管理系统(数据库)

一、项目分析 1、项目功能分析 项目功能模块主要分为三个模块&#xff0c;登录模块、管理员模块、操作员模块。 登录模块包括登录功能&#xff0c;注册功能&#xff0c;登录日志功能&#xff0c;修改密码以及找回密码。 管理员模块包括工作日志功能、图书借阅金额设定、操作员…

数据库系统设计大作业:图书馆管理系统

数据库系统设计大作业&#xff1a;图书馆管理系统 参考https://blog.csdn.net/dimo__/article/details/84936685中的设计思路&#xff0c;设计了本系统 1 需求分析 针对图书馆的图书管理系统数据库设计&#xff0c;分别对图书馆的读者、一般工作人员和部门负责人进行详细地分…

简单用数据库实现图书管理系统

目录 一、摘要 2、基本功能 二、前言 三、主体 3.1需求分析 3.1.1 数据需求分析 3.1.2 功能需求分析 3.2概要设计 3.2.1 数据字典 3.2.2 ERD&#xff08;实体关系图&#xff09; 3.2.3 DFD数据流图 3.3 逻辑设计 3.3.1 E-R模型向关系模型的转换规则 3.3.2 E-R图转…

MySQL数据库期末项目 图书馆管理系统

1 项目需求分析 1.1 项目名称 图书馆管理系统 1.2 项目功能 在以前大多部分图书馆都是由人工直接管理&#xff0c;其中每天的业务和操作流程非常繁琐复杂&#xff0c;纸质版的登记信息耗费了大量的人力物力。因此图书馆管理系统应运而生&#xff0c;该系统采用智能化设计&#…

tar文件是什么?怎么解压?

例如在使用coco数据集的时候&#xff0c;下载下来是这样的两个文件&#xff1a; 恕我无知&#xff0c;之前完全没见过这种格式的文件。 经过一番咨询&#xff0c;原来是一种压缩文件&#xff0c;里面藏了很多内容&#xff0c;看它的大小就能猜到。 这种文件一般的压缩软件貌似…

常用的tar解压命令总结

&#xff8d;^ヽ&#xff64;  /⌒&#xff64;  ,   |  &#xffe3;7  (⌒r⌒7/   レ   &#xff3c;/&#xffe3;&#xff3c;&#xff63; &#xff3f;/         { _&#xff8c; ●       ゝ _人   ο  ●  ナ   ト&#xff64;&…

linux中.tar文件怎么解压

linux中.tar文件怎么解压 1、打包压缩tar -cvf etc.tar /app/etc #打包 tar -zcvf pack.tar.gz pack/ #打包压缩为一个.gz格式的压缩包 tar -jcvf pack.tar.bz2 pack/ #打包压缩为一个.bz2格式的压缩包 tar -Jcvf pack.tar.xz pack/ #打包压缩为一个.xz格式的压缩包 2、解…

Linux 解压tar

Linux系统中tar压缩包怎么解压&#xff1f;Linux系统中有一个tar压缩包格式的文件需要解压&#xff0c;但是linux系统中没有找到tar的命令&#xff0c;该怎么办呢&#xff1f;下面我们就来看看详细的教程&#xff0c;需要的朋友可以参考下 在Linux的默认的版本中不是所有的命令…

解压缩命令tar zip rar

文章目录 打包和压缩的概念tar常用独立命令打包压缩查阅tar包内有哪些文件解压缩到指定目录(默认是当前目录)只将tar内的部分文件解压出来其他命令(其他) zip和unziprar和unrar 打包和压缩的概念 tar命令可以为linux的文件和目录创建档案 利用tar&#xff0c;可以为某一特定文件…

【hardware】什么是H桥电路?

前言 初玩智能车的小伙伴肯定会涉及到驱动电机正反转的时候&#xff0c;那么该如何控制智能车呢&#xff1f;这就要讲到双H桥了&#xff0c;让我来给你们分析吧&#xff01; 1.三极管 讲到双H桥&#xff0c;那么首先得介绍两种三极管&#xff0c;S8550&#xff08;PNP型&#x…

关于H桥的理解和应用

很多用电器对电源极性要求不高&#xff0c;如点灯&#xff0c;正反接都可以工作&#xff0c;而且现象都差不多&#xff0c;也有的用电器对电源极性敏感&#xff0c;而且接反了就不工作&#xff0c;例如多数半导体器件&#xff0c;LED等&#xff1b;但也有的用电器对电源极性敏感…

H桥驱动电路原理【转】

H桥驱动电路原理 一、H桥驱动电路 图4.12中所示为一个典型的直流电机控制电路。电路得名于“H桥驱动电路”是因为它的形状酷似字母H。4个三极管组成H的4条垂直腿&#xff0c;而电机就是H中的横杠&#xff08;注意&#xff1a;图4.12及随后的两个图都只是示意图&#xff0c;而…