告别手写,使用 Doc View 快速生成接口文档
告别手写,使用 Doc View 快速生成接口文档
|
0 评论
Doc View 是一款快捷生成接口文档 IDEA 插件,使用 Doc View 可以将开发人员从繁琐的文档编写中释放出来,极大的节省开发时间。
集成测试时 MockMvc 无法注入
集成测试时 MockMvc 无法注入
|
测试 |
0 评论
除了单元测试,还需要写集成测试,就是模拟全流程的请求。 集成测试同样使用的是 MockMvc,但是如果像单元测试一样加上 @WebMvcTest 就不太可以,因为 Service 代码没有 mock 掉,就会报错。
如何删除 git 仓库中的 .idea 文件?
如何删除 git 仓库中的 .idea 文件?
|
测试 |
0 评论
有时候新创建应用还没有添加 `.gitignore` 文件或者 `.gitignore` 内容设置的不正确,就导致 `.idea` 文件目录上传到了仓库(也可能是其他文件)。可以使用以下方式删除仓库中的 `.idea` 文件。
从 Java 锁到分布式锁
从 Java 锁到分布式锁
|
java |
0 评论
在并发编程中常用到 synchronized 以及 ReentrantLock 锁,在业务开发过程中也可能会用到分布式锁,分布式锁常用框架的就是基于 Redis 实现的分布式锁框架 Redisson 和 基于 Zookeeper 实现的分布式锁框架 Curator。当然,也有其他的锁实现方式,在这里不做介绍。
使用 SpringBoot 转换器将前端参数转换为枚举
使用 SpringBoot 转换器将前端参数转换为枚举
|
最近遇到一个小伙伴问前端枚举转换问题,才意识到可以通过转换器(Converter)自动将前端传入的字段值使用枚举接收。
MyBatis-Plus 中 Mapper 重载踩坑指南
MyBatis-Plus 中 Mapper 重载踩坑指南
|
近期在 Mapper 中写了个方法重载,然后死活查不到正确结果,最终灵机一动,想到是不是因为重载,然后我 `Shift + F6` 把重载方法名字改了一下!结果,显而易见,重载的那个方法也一块改了。再次躺坑!
并发场景加锁优化小技巧
并发场景加锁优化小技巧
|
在 JDK 中有很多锁,包括 synchronized、ReentrantLock、ReentrantReadWriteLock、锁的使用场景也分很多种,下面看一下对加锁优化的小技巧。
ZooKeeper 分布式锁 Curator 源码 05:分布式读写锁和联锁
ZooKeeper 分布式锁 Curator 源码 05:分布式读写锁和联锁
|
Curator 同样支持分布式读写锁 和联锁,只需要使用 InterProcessReadWriteLock 即可,来一起看看它的源码以及实现方式。
ZooKeeper 分布式锁 Curator 源码 04:分布式信号量和互斥锁
ZooKeeper 分布式锁 Curator 源码 04:分布式信号量和互斥锁
|
分布式信号量,之前在 Redisson 中也介绍过,Redisson 的信号量是将计数维护在 Redis 中的,那现在来看一下 Curator 是如何基于 ZooKeeper 实现信号量的。
ZooKeeper 分布式锁 Curator 源码 03:可重入锁并发加锁
ZooKeeper 分布式锁 Curator 源码 03:可重入锁并发加锁
|
在了解了加锁和锁重入之后,最需要了解的还是在分布式场景下或者多线程并发加锁是如何处理的?