关于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();
}
);
}
}

本文介绍了一个使用Spring框架实现策略模式的例子。通过定义一个接口Myinterface及其实现类MyClass1、MyClass2和MyClass3,展示了如何根据不同场景选择不同的实现进行调用。测试方法testPrint1和testPrint2演示了如何利用Spring的依赖注入特性来获取这些实现并调用它们的方法。
1918

被折叠的 条评论
为什么被折叠?



