码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Spring的注解@Qualifier用法与简析


    1 基本说明

    使用@Qualifier可以分别为同样类型的Bean分别注入不同的依赖值

    在这里插入图片描述
    然后当我们@Autowired注入时就会出现异常,NoUniqueBeanDefinitionException, 以提示有多个满足条件的 bean 进行自动装配。程序无法正确做出判断使用哪一个。

      @Autowired
      private  TestService testService;
    
    
    2 @Qualifier 注解 可以解决上述问题
      @Autowired
      @Qualifier("testServiceImpl1")
      private  TestService testService;
    
      @Autowired
      @Qualifier("testServiceImpl2")
      private  TestService testService2;
    
    

    通过将 @Qualifier 注解与我们想要使用的特定 Spring bean 的名称一起进行装配,Spring 框架就能从多个相同类型并满足装配要求的 bean 中找到我们想要的.

    3 @Primary

    对同一个接口,可能会有几种不同的实现类,如这里的 TestServiceImpl2 与 TestServiceImpl1.

    @Service
    public class TestServiceImpl1 implements TestService{
        @Override
        public void test() {
            System.out.println("TestServiceImpl1 test 方法 ");
        }
    }
    
    import org.springframework.context.annotation.Primary;
    import org.springframework.stereotype.Service;
    
    @Service
    @Primary
    public class TestServiceImpl2 implements TestService{
        @Override
        public void test() {
            System.out.println("TestServiceImpl2 test 方法 ");
        }
    }
    
    

    在使用 @Autowired 注解进行对象注入时,就会默认加载TestServiceImpl2

      @Autowired
      private  TestService testService;
    

  • 相关阅读:
    「元宇宙」成为发展新坐标,文化产业如何「沉浸式」升维?
    【SpringMVC】SpringMVC实现转发和重定向
    德国药品数据库查询系统(含网址)
    UE5C++学习(四)--- SaveGame类存储和加载数据
    x86架构上构建arm64架构的docker镜像
    超级水王问题
    MotoGP Ignition:准备好参加 Spotlight 活动!
    javaee SpringMVC 乱码问题解决
    MAC显示解锁记录(show last times the screen was unlocked in mac os)
    关于 pthread_create 传参的疑问
  • 原文地址:https://blog.csdn.net/zl18603543572/article/details/127117857
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号