JAVA 一個介面多個實現類
阿新 • • 發佈:2021-11-25
spring @Qualifier
JAVA介面 TestInterface
有兩個實現類 TestInterfaceImpl1
和 TestInterfaceImpl2
介面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;