这篇文章要做的就是优化,封装。把之前的代码尽量封装进类,并且不要硬编码。
在UserServiceimpl中的insertSysuser()函数之前是这么写的:
ResultInfo resultInfo=new ResultInfo(); resultInfo.setType(ResultInfo.TYPE_RESULT_FAIL); String message=ResourcesUtil.getValue("resources.messages", "213"); resultInfo.setMessage(message); throw new ExceptionResultInfo(resultInfo);
觉得太麻烦。我们实现一个工具类ResultUtil ,
package yycg.base.process.result; import java.util.List; import yycg.util.ResourcesUtil; /** * 系统结果工具类 * @author mrt * */ public class ResultUtil { /** * 创建错误结果 * @param MESSAGE * @return */ public static ResultInfo createFail(String fileName,int messageCode,Object[] objs){ String message=null; if(objs == null){ message = ResourcesUtil.getValue(fileName, messageCode+""); }else{ message = ResourcesUtil.getValue(fileName, messageCode+"",objs); } return new ResultInfo(ResultInfo.TYPE_RESULT_FAIL,messageCode,message); } /** * 创建敬告提示结果 */ public static ResultInfo createWarning(String fileName,int messageCode,Object[] objs){ String message=null; if(objs == null){ message = ResourcesUtil.getValue(fileName, messageCode+""); }else{ message = ResourcesUtil.getValue(fileName, messageCode+"",objs); } return new ResultInfo(ResultInfo.TYPE_RESULT_WARN,messageCode,message); } /** * 创建成功提示结果 */ public static ResultInfo createSuccess(String fileName,int messageCode,Object[] objs){ String message=null; if(objs == null){ message = ResourcesUtil.getValue(fileName, messageCode+""); }else{ message = ResourcesUtil.getValue(fileName, messageCode+"",objs); } return new ResultInfo(ResultInfo.TYPE_RESULT_SUCCESS,messageCode,message); } /** * 创建普通信息提示结果 */ public static ResultInfo createInfo(String fileName,int messageCode,Object[] objs){ String message=null; if(objs == null){ message = ResourcesUtil.getValue(fileName, messageCode+""); }else{ message = ResourcesUtil.getValue(fileName, messageCode+"",objs); } return new ResultInfo(ResultInfo.TYPE_RESULT_INFO,messageCode,message); } /** * 抛出异常 * @param resultInfo * @throws ExceptionResultInfo */ public static void throwExcepion(ResultInfo resultInfo) throws ExceptionResultInfo{ throw new ExceptionResultInfo(resultInfo); } public static void throwExcepion(ResultInfo resultInfo,List<ResultInfo> details) throws ExceptionResultInfo{ if(resultInfo != null){ resultInfo.setDetails(details); } throw new ExceptionResultInfo(resultInfo); } /** * 创建提交结果信息 * @param resultInfo * @return */ public static SubmitResultInfo createSubmitResult(ResultInfo resultInfo){ return new SubmitResultInfo(resultInfo); } /** * 创建提交结果信息,包括明细信息 * @param resultInfo * @param details * @return */ public static SubmitResultInfo createSubmitResult(ResultInfo resultInfo,List<ResultInfo> details){ if(resultInfo != null){ resultInfo.setDetails(details); } return new SubmitResultInfo(resultInfo); } public static void main(String[] args) { // TODO Auto-generated method stub } }
有了这工具类之后,之前的代码可以这么写:
ResultInfo resultInfo=ResultUtil.createFail(Config.MESSAGE, 213, null); new ResultUtil().throwExcepion(resultInfo);
具体着了说不清还是看文档比较好。
时间: 2024-11-05 23:22:32