问题的背景:
- 使用dubbo搭建分布式服务架构,service的实现,采用SpringMVC4.1.6+MyBatis3.2.8。
- 为了少维护一个维度,拟对service接口进行通用性定义,即让业务的变化,不影响已定义的service接口。
最终Service的方法签名定义如下(示例):
public ServiceResult addProduct(ServiceParam param)
其中
ServiceResult定义如下:
public class ServiceResult<T> {
private T result;
/**
* 错误返回code
*/
private int retCode;
public int getRetCode() {
return retCode;
}
public void setRetCode(int retCode) {
this.retCode = retCode;
}
public T getResult() {
return result;
}
public void setResult(T result) {
this.result = result;
}
}
其中ServiceParam定义如下:
public class ServiceParam<T> {
private T param;
public T getParam() {
return param;
}
public void setParam(T param) {
this.param = param;
}
}