开发时的问题
为什么使用DTO转换实体类或者属性复制给实体类而不直接使用实体类

可能前端只需要几个属性,后端直接给整个类返回过去了,不好用
为什么把固定的值设置成常量类
比如帐号状态,账号启用禁用这些
正常:1
异常:0
如果要把具体值2当作异常那就可以直接改常量值不用具体去方法里找参数
后端接收属性时也是用dto来接受,然后通过属性复制给实体类
拓展消息转换器

快速判断controller层接收请求参数时所用的注解

如果接受请求参数是自定义pojo(dto就省略requestparam注解)

使用枚举类的好处,规范传入参数对象,不允许乱输入,适合用于标志新号类型
枚举完全比常量类要好用,常量无法规范传入进去的数据
yml配置项:
使用多种yml配置来切换环境配置

使用${}是为了按照优先级先从dev.yml里拿值如果没有就从从环境变量中拿access密码这些,比较安全,结合前边配置oss时在环境变量中设置的

实际打包时不会把dev.yml开发环境配置打包上去因为有明文密码
文件上传:

使用uuid重新构建文件名字,防止用户上传的图片名字重合
设计多表操作要使用事务注解@Transactional,保证事务统一性,要么一起成功要么就都失败



// 5. 封装VO返回结果
OrderSubmitVO orderSubmitVO = OrderSubmitVO.builder()
.id(orders.getId())
.orderTime(orders.getOrderTime())
.orderNumber(orders.getNumber())
.orderAmount(orders.getAmount())
.build();
return orderSubmitVO;
最后封装vo对象时用lombok提供的builderHttpServletResponse手动添加的情况

/**
* 导出excle报表
* @param response
*/
@GetMapping("/export")
public void export(HttpServletResponse response) {
reportService.exportBusinessData(response);
}

把localdate累心给处理成localdatetime类型,相当于日期加上0点分0秒

通过反射和getResourceAsStream来找到需要的模板文件来返回一个input流来写
通过语句写完数据还需要一个动作来保存或者说传输

浙公网安备 33010602011771号