013医疗项目-模块一:加入工具类ResultUtil
这篇文章要做的就是优化,封装。把之前的代码尽量封装进类,并且不要硬编码。
在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);
具体着了说不清还是看文档比较好。
013医疗项目-模块一:加入工具类ResultUtil的更多相关文章
- 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)
我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加 ...
- 025医疗项目-模块二:药品目录的导入导出-HSSF导入类的封装
上一篇文章提过,HSSF的用户模式会导致读取海量数据时很慢,所以我们采用的是事件驱动模式.这个模式类似于xml的sax解析.需要实现一个接口,HSSFListener接口. 原理:根据excel底层存 ...
- 005医疗项目-模块一:用户的查找:1.用户表查询的sql语句
这是医疗项目的第一个模块:做一个用户的查询,可以根据用户的账号,用户的名称,单位的名称,用户的类型去查询.要求效果如下:
- 实用篇:说说我在JavaScript项目中使用的工具类
在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * ...
- 027医疗项目-模块二:药品目录的导入导出-导入功能的Action的编写
前一篇文章我们写了Service层,这篇文章我们写一下Action层. 实现的功能: 1:我们先下载模板:然后按照模板里面的规则,插入数据.比如存在d盘. 2:然后浏览找到那个文件,上传上去. 然后把 ...
- 014医疗项目-模块一:删除用户的功能l
删除用户的功能我们还是按照:Dao->Service->Action->页面调试这种顺序来写. Dao: 我们使用逆向工程生成的方法就好: SysuserMapper sysuser ...
- 012医疗项目-模块一:统一异常处理器的设计思路及其实现(涉及到了Springmvc的异常处理流程)
我们上一篇文章是建立了一个自定义的异常类,来代替了原始的Exception类.在Serice层抛出异常,然后要在Action层捕获这个异常,这样的话在每个Action中都要有try{}catch{}代 ...
- 自己项目中PHP常用工具类大全分享
<?php /** * 助手类 * @author www.shouce.ren * */ class Helper { /** * 判断当前服务器系统 * @return string */ ...
- Java项目案例之---常用工具类练习
常用工具类练习 1. 请根据控制台输入的特定日期格式拆分日期,如:请输入一个日期(格式如:**月**日****年),经过处理得到:****年**月**日 import java.util.Scanne ...
随机推荐
- iOS设计模式之观察者模式
观察者模式 基本理解 观察者模式又叫做发布-订阅(Publish/Subscribe)模式. 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时 ...
- 【读书笔记】iOS-UIWindow-WindowLevel
WindowLevel是UIWindow的一个属性.系统定义的一共有3种. UIKIT_EXTERN const UIWindowLevel UIWindowLevelNormal; UIKIT_EX ...
- LightSpeed的批量更新和批量删除
1.Update对于批量操作 无论是Update还是Remove 都是使用LightSpeed的Query对象来完成. 注:Student是要进行Update的表(实体),StuName是表Stud ...
- html的<head><title><meta>
head <head>用来标记HTML的头部,里面通常需要包括标题,基础信息,源信息等,定义在HTML头部的内容往往不会在网页上直接显示 title <title>的内容设置在 ...
- android:layout_gravity和android:gravity的区别
1.首先来看看android:layout_gravity和android:gravity的使用区别. android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置 ...
- 初识zookeeper(一)之zookeeper的安装及配置
1.简要介绍 zookeeper是一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件,是一个树型的目录服务,支持变更推送.除此还可以用作dubbo服务的注册中心. 2.安装 2.1 下 ...
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...
- μc/osⅡ简化版任务机制浅析
去年玩过一阵单片机,也用过μc/osⅡ的系统,但是就理解内核而言,整个即时操作系统还是过于冗杂,很多的东西很不适合初学者来动手操作,多方查找我发现他的任务机制可以进行功能的进一步简化, 可以类似于任务 ...
- CORDIC原理与FPGA实现(1)
CORDIC算法的来历与用途大家网上随处可以见到,这里写 一下自己的理解. 将P(x,y)旋转角度a得到新的坐标P’(x’,y’).这里的坐标变换为: x’= x cos(a) – y sin(a) ...
- uva 524 prime ring problem——yhx
Prime Ring Problem A ring is composed of n (even number) circles as shown in diagram. Put natural ...