02 2022 档案
摘要:背景 Guava Cache 是google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中,解决了常规缓存方法以下几个问题: 很好的封装了get、put操作,能够集成数据源 线程安全的缓存 提供了三种基本的缓存回收方式:基于容量回收、定时回收和基于引用回收 监控缓存加载/命中情况 使
阅读全文
摘要:背景 登录生成token 每个接口请求头需要带token knife4j的增强模式提供AfterScript可以通过脚本实现将登录时token设成“环境变量”,在各个接口请求头中加入token 实现 //ke = knife4jenvironment var code=ke.response.dat
阅读全文
摘要:出现场景 使用list容器时,在循环遍历中add或remove元素 使用set容器时,在循环遍历中add或remove元素 使用map容器时,在循环遍历中remove元素 错误原因 remove操作时,只有modCount++,而expectedCount值未变,迭代器在取下一个元素的时候,发现该二
阅读全文
摘要:背景 全局接口异常处理,与@ExceptionHandler(value = Exception.class)一起使用可以全局捕获指定异常。 使用举例 @RestControllerAdvice public class GlobalExceptionHandler { private static
阅读全文
摘要:“上下文”原意 原为“context”,中文翻译为“上下文”,大致可以分三类 业务“上下文” 业务操作所对应的基础单位(实体)。 业务上下文变更举例 后台系统登录实体为个人,每个功能都是以个人为基准编写的。如果要让集体账号也可以登录,该账号登录后要获取到集体所有个人的信息。那原先以个人为基准编写的功
阅读全文
摘要:转为对应对象列表 //Json数据: [ { "id": 1, "email": "test", "userId": "1233", "employeeName": "xx", "gender": "MALE", "phone": "12341234123", "deptName": "外包" }
阅读全文
摘要:Pattern实现 //完全匹配 Pattern pattern = Pattern.compile("^" + "张" + "$"); //右匹配 Pattern pattern = Pattern.compile("^.*" + "张" + "$"); //左匹配 Pattern pattern
阅读全文
摘要:简介 MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。 db.collection.aggregate()方法是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经
阅读全文