JAVA 一个接口多个实现类

JAVA接口 TestInterface 有两个实现类 TestInterfaceImpl1TestInterfaceImpl2
接口TestInterface:

public interface TestInterface {
    void test1();
}

实现类TestInterfaceImpl1:

@Service("t1")
public class TestInterfaceImpl1 implements TestInterface {
  @Override 
  public void test1() {
    System.out.println("实现类1test1");
  } 
  public void test2(){
    System.out.println("实现类1test2");
  } 
}

实现类TestInterfaceImpl2:

@Service("t2") 
public class TestInterfaceImpl2 implements TestInterface { 
@Override 
  public void test1() { 
    System.out.println("实现类2test1");
  } 
  public void test2(){
    System.out.println("实现类2test2"); 
  } 
}

调用方式:
1.通过 @Autowired@Qualifier 配合注入

@Autowired
@Qualifier("testInterfaceImpl1")
TestInterface testInterface;

2.使用 @Resource 注入,根据默认类名区分

@Resource(name = "testInterfaceImpl1")
TestInterface testInterface;

3.使用 @Resource 注入,根据 @Service 指定的名称区分

@Resource(name = "t1")
TestInterface testInterface;

本文作者:stilldream

本文链接:https://www.cnblogs.com/stilldream/p/15601683.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆,转载请附上原文出处链接及本声明。许可协议进行许可。

posted @   还可入梦  阅读(3336)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起