1.定义接口
public interface StrategyManager {
public void doSomething();
}
2.定义不同策略实现类
@Component("strategyManager1")
public class StrategyManager1 implements StrategyManager {
@Override
public void doSomething() {
System.out.println("strategy 1");
}
}
@Component("strategyManager2")
public class StrategyManager2 implements StrategyManager {
@Override
public void doSomething() {
System.out.println("strategy 2");
}
}
3.如何注入
@Resource
private Map<String, StrategyManager> strategyManagerMap;
4.如何使用
...
if (type == 1) {
strategyManagerMap.get("strategyManager1").doSomething();
}
if (type == 2) {
strategyManagerMap.get("strategyManager2").doSomething();
}
...