关于Spring 接口多个实现类使用策略模式
见下面的例子
public interface Myinterface{
default method(){
......
}
/**
* 打印输出
*/
void print(){
System.out.println("this is Myinterface");
}
}
public class MyClass1 implements Myinterface{
@Override
public void print(){
System.out.println("this is MyClass1 ");
}
}
public class MyClass2 implements Myinterface{
@Override
public void print(){
System.out.println("this is MyClass2 ");
}
}
public class MyClass3 implements Myinterface{
@Override
public void print(){
System.out.println("this is MyClass3 ");
}
}
@SpringBootTest
public class Test{
@Resource
private List<Myinterface> Myinterfaces;
@Resource
private Map<String,Myinterface> MyinterfaceMap;
@Test
public void testPrint1() {
Myinterfaces.foreach(
x-> x.print();
);
}
@Test
public void testPrint2() {
Myinterfaces.foreach(
(x,y)->{
System.out.println(x);
y.print();
}
);
}
}