每天一个SpringBoot注解之@Qualifier
程序员文章站
2022-03-29 17:15:46
一句话概括一下,@Qualifier注解的用处:当一个接口有多个实现的时候,为了指名具体调用哪个类的实现。下面配上简单的代码示例解释://定义一个接口public interface QualifierInterface { void testQualifierMethod();}新建两个实现类,service()注解里面表名是one或者two@Service("one")public class One implements QualifierInterface{ ....
一句话概括一下,@Qualifier注解的用处:当一个接口有多个实现的时候,为了指名具体调用哪个类的实现。
下面配上简单的代码示例解释:
//定义一个接口
public interface QualifierInterface {
void testQualifierMethod();
}
新建两个实现类,service()注解里面表名是one或者two
@Service("one")
public class One implements QualifierInterface{
@Override
public void testQualifierMethod() {
System.out.println("this is One print:" + 1);
}
}
@Service("two")
public class Two implements QualifierInterface{
@Override
public void testQualifierMethod() {
System.out.println("this is Two print:" + 2);
}
}
新建一个测试类
@SpringBootTest
class QualifierRun {
@Qualifier("one")
@Resource
QualifierInterface qualifierInterface;
@Test
void contextLoads() {
qualifierInterface.testQualifierMethod();
}
}
注意:如果我这里不加入@Qualifier注解,运行是会报错的。
当我加入@Qualifier(“one”)输出
this is Two print:1
2021-01-12 18:07:14.069 INFO 39816 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
Process finished with exit code 0
当我加入@Qualifier(“two”)输出
this is Two print:2
2021-01-12 18:07:14.069 INFO 39816 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
Process finished with exit code 0
本文地址:https://blog.csdn.net/StreamlineWq/article/details/112542186
推荐阅读
-
Spring注解之@Autowired、@Qualifier、@Resource、@Value
-
springboot系列之03-使用IDEA完成第一个示例程序
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
-
浅谈基于SpringBoot实现一个简单的权限控制注解
-
springboot之mybatis注解形式
-
每天一个Linux命令之shell单引号和双引号的经典解释
-
源码系列【springboot之@Import注解多个类引入同一个类源码解析】
-
Java基础知识之注解(Annotation)及纯java代码在数据库中创建一个表
-
SpringBoot整合定时任务----Scheduled注解实现(一个注解全解决)
-
每天学一个 Linux 命令之more命令