每天一个SpringBoot注解之@Qualifier
程序员文章站
2024-01-09 17:27:52
一句话概括一下,@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
上一篇: JAVA多线程线程安全性基础
推荐阅读
-
每天一个设计模式之组合模式
-
每天一个设计模式之单例模式
-
每天一个设计模式之命令模式
-
SpringBoot 之 @Transaction注解的类级别和方法级别的区别
-
每天一个SpringBoot注解之@Qualifier
-
每天一个SpringBoot注解之@Configuration
-
springboot系列之03-使用IDEA完成第一个示例程序
-
Spring注解之@Autowired、@Qualifier、@Resource、@Value
-
springboot系列之03-使用IDEA完成第一个示例程序
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识