有如下接口:

public interfaceEmployeeService {publicEmployeeDto getEmployeeById(Long id);

}

同时有下述两个实现类 EmployeeServiceImpl和EmployeeServiceImpl1:

@Service("service")public class EmployeeServiceImpl implementsEmployeeService {publicEmployeeDto getEmployeeById(Long id) {

return newEmployeeDto();

}

}

@Service("service1")public class EmployeeServiceImpl1 implementsEmployeeService {publicEmployeeDto getEmployeeById(Long id) {

return newEmployeeDto();

}

}

调用代码如下:

@Controller

@RequestMapping("/emplayee.do")public classEmployeeInfoControl {

@Autowired

EmployeeService employeeService;

@RequestMapping(params= "method=showEmplayeeInfo")public voidshowEmplayeeInfo(HttpServletRequest request, HttpServletResponse response, EmployeeDto dto) {

#略

}

}

在启动tomcat时报如下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'employeeInfoControl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.test.service.EmployeeService com.test.controller.EmployeeInfoControl.employeeService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.test.service.EmployeeService] is defined: expected single matching bean but found 2: [service1, service2]

其实报错信息已经说得很明确了,在autoware时,由于有两个类实现了EmployeeService接口,所以Spring不知道应该绑定哪个实现类,所以抛出了如上错误。

这个时候就要用到@Qualifier注解了,qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的,我们修改调用代码,添加@Qualifier注解,需要注意的是@Qualifier的参数名称必须为我们之前定义@Service注解的名称之一!

@Controller

@RequestMapping("/emplayee.do")public classEmployeeInfoControl {

@Autowired

@Qualifier("service")

EmployeeService employeeService;

@RequestMapping(params= "method=showEmplayeeInfo")public voidshowEmplayeeInfo(HttpServletRequest request, HttpServletResponse response, EmployeeDto dto) {

#略

}

}

java中qualifier注解怎么写_Java 注解 Qualifier相关推荐

  1. java注解怎么写_java注解

    写在前面 现在的java主流框架中,注解无处不在,因此我们完全有必要搞明白注解到底是什么.如何理解注解,它到底是怎么起作用的. 注解的定义 java是这样定义注解的:Java 注解用于为 Java 代 ...

  2. java中相对路径怎么写_java中如何使用相对路径读取文件

    java中使用相对路径读取文件的方法:1.使用文件[File file = new File("src/test.txt")]方法:2.使用类的相对路径:3.使用当前线程的类加载器 ...

  3. Java中field的覆写_Java中方法的覆写

    [套装4本]java编程思想4第4版+ 402.5元 包邮 (需用券) 去购买 > 一.方法的重写概念 之前说了子类如果继承了一个父类,那么子类就会拥有父类的方法(不包括构.造方法)和属性,此时 ...

  4. java中Long类型传参校验注解_JAVA——实现json bean实体类的传参校验模板及注解详解...

    关注wx:CodingTechWork,一起学习进步. 引言 在java开发中,经常需要和外界系统进行参数对接,api设计中难免会遇到json传参不一致的情况,虽然纸面或者接口规范约束了应该怎么传参, ...

  5. java注解详解_Java注解详解

    Annotation是从JDK5.0开始引入的新技术. Annotation的作用:–不是程序本身,可以对程序作出解释.(这一点,跟注释没什么区别)–可以被其他程序(比如:编译器等)读取.(注解信息处 ...

  6. java 注解与反射_Java注解与反射直接上手

    什么是注解(Annotation) 注解顾名思义为注释.讲解,可以理解为一种标签或标记,可以用在类.方法或者域上.向类.方法等添加注解,相当于给他们贴上了一层标签. 注解使用 在使用注解时,在类名.方 ...

  7. java注解的反射_Java注解与反射

    概要 本文主要是总结Java注解与反射的相关知识,加深自己对Java类动态语言的理解,同时为日后学习Spring打下基础. 注解: 什么是注解 Annotation的作用 不是程序本身,但是可以对程序 ...

  8. java注解使用变量_java注解的使用

    java中注解的使用 1.说再前面 使用注解开发的好处 1.使代码更加干净易读,易于维护修改.比如,以前使用spring的开发,都是基于xml文件实现了统一的配置管理,但是缺点也是显而易见的,就是随着 ...

  9. java 注解报错_java注解验证接收参数 返回注解字段的错误

    1.在controller接口方法接收参数加上 @Valid注解 并且在实体类参数后紧跟 BindingResult bindingresul BindingResultMsgUtil工具类: pub ...

最新文章

  1. 安装、连接MS SQL Server 2000的问题
  2. 如何在geth中创建genesis.json_如何在Photoshop中应用“通道混合器”创建一个复古韵味色调...
  3. (线段树模板)A Simple Problem with Integers --POJ--3468
  4. Introduction of Open CASCADE Foundation Classes
  5. [AtCoder Educational DP Contest] V - Subtree(树形dp + 前缀积/后缀积)
  6. CUDA10.1配置VS2017
  7. Taro+react开发(21)--注意参数格式
  8. UpdatePanel的内容中出现自定义多语言运行异常
  9. Linux du 命令
  10. jquery ajax实例 php,jquery中各个ajax实例操作
  11. 计算机组成原理中计算机主要包括哪几部分,计算机组成原理本科生期末试卷(五)部分答案详解...
  12. Spring Boot 中使用@KafkaListener并发批量接收消息(转载)
  13. Windows路由表详解与双网卡访问慢问题解决
  14. 架构思维成长系列教程(八)- 电商供应链系统架构设计
  15. 网络工程师需要学c语言,网络工程师需要学哪些内容
  16. Linux-京东字节百度提前批,一面二面都被问到了awk——实例篇(4)ip地址相关
  17. android游戏基址,Android上可执行ELF文件中的段不能有基址
  18. ubuntu8.10显卡驱动安装(8500gt)
  19. 观察力训练(福尔摩斯演绎法)
  20. 计算机软件著作权必须登记吗?根据国家法律法规规定,计算机软件著作权登记与取得著作权有没有关系?

热门文章

  1. 基于JAVA+SpringBoot+Mybatis+MYSQL的旅游网站系统
  2. Springcloud服务如何在Eureka安全优雅的下线
  3. 某些服务在未由其他服务或程序使用时将自动停止
  4. # 20155337 《Android程序设计》实验四实验报告
  5. 基于win32的windows画板程序
  6. 10_官方例子程序01
  7. Jlink--SWD脚位连接
  8. Android通过tcpdump抓包
  9. ASP.Net 多虚拟目录Web应用程序 实现Session共享
  10. Windows Vista桌面窗口管理器(3)