import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@Service
public class OperationContext {
private final Map<String, IStrategy> strategyMap = new ConcurrentHashMap<>();
@Autowired
public OperationContext(Map<String, IStrategy> strategyMap) {
this.strategyMap.clear();
strategyMap.forEach(this.strategyMap::put);
System.out.println(this.strategyMap);
}
public IStrategy strategySelect(String mode) {
IStrategy strategy=strategyMap.get(mode);
if(strategy==null){
throw new RuntimeException("未定义");
}
return strategy;
}
}