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;
posted @ 2021-11-25 10:48  还可入梦  阅读(3269)  评论(1编辑  收藏  举报