第一种方式:(较为局限)
在service层上标明对应service的简称,与参数相对应
factory类如下
@Service
public class RequestHandlerFactory {
@Autowired
Map<String,BaseRequestHandlerService> requestHandlerServiceMap = new ConcurrentHashMap<>();
public BaseRequestHandlerService getRequestHandlerFactory(String proptocol){
return requestHandlerServiceMap.get(proptocol);
}
}
各个service实现BaseRequestHandlerService,这样就能在controller中统一处理,遇到新的业务不用改动controller,只需新建server实现BaseRequestHandlerService&