新知识杂记(Assert进行异常判断、参数封装、枚举类)-2017/4/19

来源:互联网 发布:mahout java实例教程 编辑:程序博客网 时间:2024/03/29 20:56

在有人带的开发中学到了很多以前没用过的东西,希望可以写下来总结一下,以后看一下。

1.service层接口中定义的方法中都要传入的参数和返回的结果(无是void),以前都是直接去写传进去什么参数,返回什么数据类型的返回值。今天学习了把入参和返回参数都封装成为一个类,这样更符合面向对象的准则。还有个最重要的作用就是如果后边的实现类要增加参数和减少参数,这里不用对接口中的方法定义进行修改,直接在封装的参数类中去修改即可。如图所示,这是一个更新物流公司合作状态的入参的一个类。

package com.ihomefnt.psi.logistics.company.dto;import com.wordnik.swagger.annotations.ApiModel;import com.wordnik.swagger.annotations.ApiModelProperty;/** * 2017/4/18 *  * @author zhanglijun * */@ApiModel("更新合作状态入参")public class LogisticsCoopStatusUpdateRequestDto {@ApiModelProperty("物流公司id")private Long logisticsCompanyId;@ApiModelProperty("合作状态 : 1正常合作,0暂不合作")private Integer cooperationStatus;private Long userId;public Long getUserId() {return userId;}public void setUserId(Long userId) {this.userId = userId;}public Long getLogisticsCompanyId() {return logisticsCompanyId;}public void setLogisticsCompanyId(Long logisticsCompanyId) {this.logisticsCompanyId = logisticsCompanyId;}public Integer getCooperationStatus() {return cooperationStatus;}public void setCooperationStatus(Integer cooperationStatus) {this.cooperationStatus = cooperationStatus;}}

2.Assert工具类的使用

一般在做抛异常的时候,会写一个throw new RuntimeException("什么异常") 这样的类型。

这里学习了一个工具类Assert的工具类,这里面封装了很多方法,你只需要调用里面的方法,抛出异常这个工作就在封装类中帮你完成了。这里我使用的是NotNull方法。


这里的意思是,如果第一个参数的值为空,那么会报出后一个字符串参数的异常信息。还有很多方法,可以看spring框架下的这个源码。


3.枚举类的使用

一般像什么状态值什么的都设置为枚举类里面,这里在开发中第一次用到比较多的枚举类。一般定义枚举类的名子是xxxConstant。一般枚举类的写法,注意有两个getName方法,这里也是为了在service层进行判断这个状态值是不是在枚举类中的。

package com.ihomefnt.psi.logistics.company.constant;/** * 物流公司合作状态 * created 2017/4/19 * @author zhanglijun * */public enum CooprerationStatusConstant {NORMAL_COOPERATION("正常合作", 1), TEMPORARY_COOPERATION("暂不合作", 0);private String name;private int index;private CooprerationStatusConstant(String name, int index) {this.name = name;this.index = index;}public static String getName(Integer index) {if (index == null) {return null;}for (CooprerationStatusConstant c : CooprerationStatusConstant.values()) {if (c.getIndex() == index) {return c.name;}}return null;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getIndex() {return index;}public void setIndex(int index) {this.index = index;}}



0 0