spring boot:实现图片文件上传并生成缩略图(spring boot 2.3.1)

一,为什么要给图片生成缩略图?

1, 用户上传的原始图片如果太大,不能直接展示在网站页面上,

   因为不但流费server的流量,而且用户打开时非常费时间,

&[……]

继续阅读

spring boot:使用spring cache+caffeine做进程内缓存(本地缓存)(spring boot 2.3.1)

一,为什么要使用caffeine做本地缓存?

1,spring boot默认集成的进程内缓存在1.x时代是guava cache

  在2.x时代更新成了caffeine,

[……]

继续阅读

spring boot: filter/interceptor/aop在获取request/method参数上的区别(spring boot 2.3.1)

一,filter/interceptor/aop在获取参数上有什么区别?

1,filter可以修改HttpServletRequest的参数(doFilter方法的功能),

 [……]

继续阅读

spring boot:使用validator做接口的参数/表单/类中多字段的参数验证(spring boot 2.3.1)

一,为什么要做参数验证?

永远不要相信我们在后端接收到的数据,

1,防止别人通过接口乱刷服务:有些不怀好意的人或机构会乱刷我们的服务,例如:短信接口,

  相信大家可能很多[……]

继续阅读

spring boot:使接口返回统一的RESTful格式数据(spring boot 2.3.1)

一,为什么要使用REST?

1,什么是REST?

REST是软件架构的规范体系,它把资源的状态用URL进行资源定位,

以HTTP动作(GET/POST/DELETE/PUT)描述操作[……]

继续阅读

spring boot:给接口增加签名验证(spring boot 2.3.1)

一,为什么要给接口做签名验证?

1,app客户端在与服务端通信时,通常都是以接口的形式实现,

这种形式的安全方面有可能出现以下问题:

被非法访问(例如:发短信的接口通常会被利用来垃圾[……]

继续阅读

spring boot:使用多个redis数据源(spring boot 2.3.1)

一,什么情况下需要使用多个redis数据源?

为了缓存数据,通常我们会在线上使用多个redis的cluster,

每个cluster中缓存不同的数据,以方便管理.

例如:我们缓存了杂[……]

继续阅读