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;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM