java中qualifier注解怎么写_Java 注解 Qualifier
有如下接口:
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相关推荐
- java注解怎么写_java注解
写在前面 现在的java主流框架中,注解无处不在,因此我们完全有必要搞明白注解到底是什么.如何理解注解,它到底是怎么起作用的. 注解的定义 java是这样定义注解的:Java 注解用于为 Java 代 ...
- java中相对路径怎么写_java中如何使用相对路径读取文件
java中使用相对路径读取文件的方法:1.使用文件[File file = new File("src/test.txt")]方法:2.使用类的相对路径:3.使用当前线程的类加载器 ...
- Java中field的覆写_Java中方法的覆写
[套装4本]java编程思想4第4版+ 402.5元 包邮 (需用券) 去购买 > 一.方法的重写概念 之前说了子类如果继承了一个父类,那么子类就会拥有父类的方法(不包括构.造方法)和属性,此时 ...
- java中Long类型传参校验注解_JAVA——实现json bean实体类的传参校验模板及注解详解...
关注wx:CodingTechWork,一起学习进步. 引言 在java开发中,经常需要和外界系统进行参数对接,api设计中难免会遇到json传参不一致的情况,虽然纸面或者接口规范约束了应该怎么传参, ...
- java注解详解_Java注解详解
Annotation是从JDK5.0开始引入的新技术. Annotation的作用:–不是程序本身,可以对程序作出解释.(这一点,跟注释没什么区别)–可以被其他程序(比如:编译器等)读取.(注解信息处 ...
- java 注解与反射_Java注解与反射直接上手
什么是注解(Annotation) 注解顾名思义为注释.讲解,可以理解为一种标签或标记,可以用在类.方法或者域上.向类.方法等添加注解,相当于给他们贴上了一层标签. 注解使用 在使用注解时,在类名.方 ...
- java注解的反射_Java注解与反射
概要 本文主要是总结Java注解与反射的相关知识,加深自己对Java类动态语言的理解,同时为日后学习Spring打下基础. 注解: 什么是注解 Annotation的作用 不是程序本身,但是可以对程序 ...
- java注解使用变量_java注解的使用
java中注解的使用 1.说再前面 使用注解开发的好处 1.使代码更加干净易读,易于维护修改.比如,以前使用spring的开发,都是基于xml文件实现了统一的配置管理,但是缺点也是显而易见的,就是随着 ...
- java 注解报错_java注解验证接收参数 返回注解字段的错误
1.在controller接口方法接收参数加上 @Valid注解 并且在实体类参数后紧跟 BindingResult bindingresul BindingResultMsgUtil工具类: pub ...
最新文章
- 安装、连接MS SQL Server 2000的问题
- 如何在geth中创建genesis.json_如何在Photoshop中应用“通道混合器”创建一个复古韵味色调...
- (线段树模板)A Simple Problem with Integers --POJ--3468
- Introduction of Open CASCADE Foundation Classes
- [AtCoder Educational DP Contest] V - Subtree(树形dp + 前缀积/后缀积)
- CUDA10.1配置VS2017
- Taro+react开发(21)--注意参数格式
- UpdatePanel的内容中出现自定义多语言运行异常
- Linux du 命令
- jquery ajax实例 php,jquery中各个ajax实例操作
- 计算机组成原理中计算机主要包括哪几部分,计算机组成原理本科生期末试卷(五)部分答案详解...
- Spring Boot 中使用@KafkaListener并发批量接收消息(转载)
- Windows路由表详解与双网卡访问慢问题解决
- 架构思维成长系列教程(八)- 电商供应链系统架构设计
- 网络工程师需要学c语言,网络工程师需要学哪些内容
- Linux-京东字节百度提前批,一面二面都被问到了awk——实例篇(4)ip地址相关
- android游戏基址,Android上可执行ELF文件中的段不能有基址
- ubuntu8.10显卡驱动安装(8500gt)
- 观察力训练(福尔摩斯演绎法)
- 计算机软件著作权必须登记吗?根据国家法律法规规定,计算机软件著作权登记与取得著作权有没有关系?