欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

SpringBoot遇到的坑@Qualifier报红的解决,

来源: javaer 分享于  点击 22097 次 点评:229

SpringBoot遇到的坑@Qualifier报红的解决,


目录
  • SpringBoot遇到的坑@Qualifier报红
    • 解决方法
  • SpringBoot注解@Qualifier用法

    SpringBoot遇到的坑@Qualifier报红

    今天写项目的时候@Qualifier一直报红,排查半天后面才知道原来是idea生成项目的时候把主配置的类放在一个包中导致默认包结构扫描发生改变,扫描不到你定义的组件,具体可以去看看SpirngBoot默认包结构规则。

    在这里插入图片描述

    解决方法

    主配置类必须放在是你所扫描的包的父包上

    SpringBoot注解@Qualifier用法

    在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢?

    根据注入资源的注解不同实现的方式有一点小小的区别

    下面上铺垫图

    一个业务接口

    请忽略我的红线

    第一个实现类

    第二个实现类

    ##在Controller中使用 @Autowired注入时

    autowired注入资源

    Qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的,添加@Qualifier注解,需要注意的是@Qualifier的参数名称为我们之前定义@Service注解的名称之一。

    ##使用@Resource注入时

    @resource注入

    使用@resource注入时比较简单了注解自带了“name”的val就是@Service注解的名称之一。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持3672js教程。

    您可能感兴趣的文章:
    • 解决IDEA springboot"spring-boot-maven-plugin"报红问题
    • SpringBoot项目中遇到的BUG问题及解决方法
    • 解决springboot mapper注入报红问题
    • SpringBoot 定时任务遇到的坑
    相关栏目:

    用户点评