2020年6月21日
摘要: 1 前言 在上一篇我们改写了 CacheManager 使得它能够解析 cacheName#duration 动态设置 TTL,现在我们将使用预定义的 CacheResolver 来让我们的代码能有下边的表现形式: 第一个方法在注解上规定了 TTL 是 5 分钟, 第二个方法可以传入一个 durat 阅读全文
posted @ 2020-06-21 16:55 四维胖次 阅读(1172) 评论(0) 推荐(0) 编辑
摘要: 1 前言 关于序列化: Spring 提供的 Cache 默认使用 JDK 方式序列化结果,这要求我们的结果都必须实现 Serializable 接口,且在缓存中保存的数据是二进制的,给后续调试带来不少麻烦。 关于 TTL: Spring 提供的 Redis 实现仅支持设置全局 TTL ,如果想要细 阅读全文
posted @ 2020-06-21 00:29 四维胖次 阅读(744) 评论(0) 推荐(0) 编辑
  2020年5月31日
摘要: 1 前言 Spring 的验证框架为我们提供了强大的验证功能,我们不但要会使用它,更要知道它工作的原理,这一文将简要点出 验证的基础基础流程,包括 spring 如果确定入参需要参与验证 spring 如何决定是抛出各种验证错误,还是将错误信息传递给开发人员 spring 如何为表单验证与 JSON 阅读全文
posted @ 2020-05-31 01:55 四维胖次 阅读(394) 评论(0) 推荐(0) 编辑
  2020年5月9日
摘要: 1 前言 在日常的开发中,我们需要使用到各种非空,非 Null 等条件判定以保证程序不出错,因此避免不了写出臃肿的代码。尽管 JDK 8 提供了强大的 Stream 流,但它并不总是能满足各种需求。 网络上对于 PropertyMapper 类的研究甚少,写这篇文章也是为了记下所学知识,同时也希望给 阅读全文
posted @ 2020-05-09 01:14 四维胖次 阅读(2298) 评论(0) 推荐(0) 编辑
  2020年4月5日
摘要: 1. 前言 Spring 对 Feign 做了封装,包括常用的 encoder/decoder ,让我们能用 Bean 的形式使用 Feign。我们将沿用之前的代码。 1.1 Maven 依赖 1 <dependency> 2 <groupId>org.springframework.cloud</ 阅读全文
posted @ 2020-04-05 14:50 四维胖次 阅读(2513) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 最近公司的项目里使用到了 Feign 开源项目,这里作学习笔记 2. Feign 架构(来自官方) feign 由五大部分组成,由于刚开始接触 feign ,我们自然比较关注的 clients 跟 encoders/decoders 3. 代码测试 3.1 官方教程 接触一个项目最直接的 阅读全文
posted @ 2020-04-05 14:47 四维胖次 阅读(5430) 评论(0) 推荐(0) 编辑
  2020年3月30日
摘要: 1 前言 根据 Quartz 的设计,一个 Job 可以绑定多个 Trigger,必然会遇到并发的问题。 2 并发 2.1 复现 让我们编写一个并发的例子: 1 /** 2 * @author pancc 3 * @version 1.0 4 */ 5 public class AcceptConc 阅读全文
posted @ 2020-03-30 23:41 四维胖次 阅读(1958) 评论(0) 推荐(0) 编辑
  2020年3月29日
摘要: 1 写在前面 在实际的开发中,我们经常需要向任务传递数据参数,在之前的任务创建中,我们只能以 JobBuilder.newJob(DataJob.class) 的形式向建造器传递一个 class,实际上 JobDetail 接口规定了一个方法 getJobDataMap(),用于传递数据。 2 初探 阅读全文
posted @ 2020-03-29 23:56 四维胖次 阅读(1909) 评论(0) 推荐(1) 编辑
摘要: 1 写在前面 最近公司的业务需要用到定时任务,框架选型用的是 Quartz ,这里作学习记录。 2 Quartz 主要成员 Quartz 的核心由三大接口组成,分别是 Job,Trigger,Scheduler 2.1 Job 描述执行具体的任务,其结构与 Runnable 类似,只有一个 void 阅读全文
posted @ 2020-03-29 23:55 四维胖次 阅读(802) 评论(0) 推荐(0) 编辑
  2020年3月13日
摘要: 1 简述 CopyOnWriteArrayList 是从 JDK5 开始引进的并发集合之一,另一个是 CopyOnWriteArraySet,JDK 并没有提供 Map 的实现,我们之后将实现它。 2 COW Copy-On-Write简称COW,是一种用于程序设计中的优化策略。思路是,从一开始大家 阅读全文
posted @ 2020-03-13 15:08 四维胖次 阅读(165) 评论(0) 推荐(0) 编辑