一、ObjectMapper
ObjectMapper类(com.fasterxml.jackson.databind.ObjectMapper)是Jackson的主要类,它可以帮助我们快速的进行各个类型和Json类型的相互转换。
//json中有新增的字段并且是实体类中不存在的忽略
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//将json字符串转化为对象
GCCXPlaceOrderData gccxPlaceOrderData = objectMapper.readValue(request.getParameter("order"), GCCXPlaceOrderData.class);
二、初步理解MultipartFile
MultipartFile为org.springframework.web.mutipart包下的一个类,也就是说如果想使用MultipartFile这个类就必须引入spring框架,换句话说,
如果想在项目中使用MultipartFile这个类,那么项目必须要使用spring框架才可以,否则无法引入这个类。MultipartFile翻译成中文来讲就是“多组件
的文档”,不用太在乎他的中文含义,一般来讲使用MultipartFile这个类主要是来实现以表单的形式进行文件上传功能。
1.MultipartFile一种可以接收使用多种请求方式来进行上传文件的代表形式。(如果使用spring框架来实现项目中的文件上传功能,则MultipartFile
是最合适的选择,而这里提到的多种请求方式则可以通俗理解为以表单的形式提交)。
2.这个文件内容可以存储到内存中或者存储在磁盘的临时位置上。
3.无论发生哪种情况,用户都可以自由地拷贝文件内容到session存储中,或者以一种永久存储的形式进行存储。
4.这种临时性的存储在请求结束之后将会被清除掉。
2.MultipartFile常用方法解析
//获取当前sheet页的总物理行数:
int rowCount = sheet.getPhysicalNumberOfRows();
Assert.notNull(temp,"temp的值不能为空");
判断传进来的参数值是否为空值,如果为空就抛出异常throw new IllegalArgumentException(msg),代码如果不捕捉处理这个异常,代码不往下执行,
不为空代码继续向下执行。
setScale():
BigDecimal.setScale()这个方法是用于格式化小数点
setScale(0)表示保留整数
setScale(1)表示保留一位小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
scale指的是你小数点后的位数。比如123.456则score就是3.
score()就是BigDecimal类中的方法啊。
比如:BigDecimal b = new BigDecimal(“123.456”);
b.scale(),返回的就是3.
roundingMode是小数的保留模式。它们都是BigDecimal中的常量字段,有很多种。
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。
pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
的意思是说:我用一个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个小数位,roundingMode表示的就是保留模式是什么,
是四舍五入啊还是其它的,你可以自己选!