随笔分类 - 代码分享
编码经验
摘要:问题: 项目中常用@Validate 或者 @Valid 去对接口的入参做参数校验, 最近项目中遇到另外一种情况,仅使用注解似乎难以满足需求: 例如:实际情况中需要针对channel字段做进一步校验,如channel为1(也就是IOS),则需要进一步校验appId字段不能为空 public clas
阅读全文
摘要:package com.gabriel.stage.utils; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import org.apache.commons.lang3.time.DateUt
阅读全文
摘要:自定义异常 /** * @author: Gabriel * @date: 2020/1/17 14:56 * @description 自定义异常 */ @Data public class BusinessException extends RuntimeException { /** 状态码
阅读全文
摘要:/** * @author: Gabriel * @date: 2020/1/17 15:00 * @description 响应体结果封装 */ public class Result<T> implements Serializable { private int status; private
阅读全文
摘要:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> /** * @author: Gabriel * @date
阅读全文
摘要:1.自定义注解 @Target(ElementType.METHOD) //注解放置的目标位置,METHOD是可注解在方法级别上 @Retention(RetentionPolicy.RUNTIME) //注解在哪个阶段执行 @Documented //生成文档 public @interface
阅读全文
摘要:JDK 8 中Stream流中去重的方法 1.简单的去重,可以使用distinct()方法去重,该方法是通过比较equals和hashcode值去去重, 2.复杂的去重, 例如,在一个JavaBean的集合中,去除某个属性重复的对象 @Override public List<RptDayMonth
阅读全文
摘要:问题: 在日常代码中,使用 spring包中的 BeanUtils.copyProperties(source,target),可以将A对象的属性复制到B对象中,但是有个问题 无法将HashMap中的属性复制到JavaBan对象中 解决方法: 引入 commons-beanutils依赖 <depe
阅读全文
摘要:例如: 数据库中查出来的数据为 List<RptDayMonthTarget> List<RptDayMonthTarget> list = targetService.selectMonthTarget(); 此时要转换为 List<RptDayMonthTargetVO>给前端展示 思路就是先使
阅读全文
摘要:一.需求分析 最近接到一个需求,导入十万级,甚至可能百万数据量的记录了车辆黑名单的Excel文件,借此机会分析下编码过程; 首先将这个需求拆解,发现有三个比较复杂的问题: 问题一:Excel文件导入后首先要被解析为存放对象的列表,数据量大的情况下可能会导致内存溢出,解析时间过长; 问题二:插入数据库
阅读全文
摘要:实际项目中,往往有大量的if-else语句进行各种逻辑校验,参数校验等等,大量的if-else,语句使代码变得臃肿且不好维护,本篇文章结合我自己的经验,就减少if-else语句给出以下几种方案,分别适用于不同的场景,供大家参考,如有疑问或者建议,请大家及时指出; 一. 方案一:使用三元表达式: //
阅读全文