Spring 缓存抽象之基于注解的声明式缓存

Spring 缓存抽象之基于注解的声明式缓存

Spring 提供了一些 Java 注解用于声明缓存。

  1. @Cacheable 用于触发缓存
  2. @CacheEvict 用于失效缓存
  3. @CachePut 可用于在不影响方法运行的情况下更新缓存
  4. @Caching 用于将多种缓存操作应用到一个方法中
  5. @CacheConfig 用于配置同一个类的缓存配置,类中的所有缓存都将共享这个配置
阅读更多
Spring Boot 集成 Caffeine 缓存
Shiro 方法上有权限注解的时候才鉴权

Shiro 方法上有权限注解的时候才鉴权

最近参与的新项目 REST API 需要集成 Shiro 权限框架,在集成过程中发现 Shiro 好像只能通过对过滤器指定 Url Path Pattern 的方式针对 URL 进行权限校验。在指定 Filter 的 URL 后,Fitler 会对所有的 URL 进行处理并不会根据需要对 URL 进行略过,但是 API 中并不是所有的接口都需要进行鉴权。

针对这个需求,翻遍了自带的默认过滤器都没有对应合适的 Filter 进行处理,只能自己实现 Filter,好在 Shiro 在扩展方面做得相当不错。本文主要讲述实现一个根据是否有权限注解来进行是否鉴权的方法,在没有 Shiro 权限注解的方法或者类上不进行鉴权。

阅读更多
学习使用Kotlin

学习使用Kotlin

最近几天 Kotlin 真可谓备受关注啊。Google 在 Google I/O 大会上宣布 Kotlin 成为 Android 开发官方支持的语音,Kotlin 发布也有好几年了,这次也是备受关注。打算接着这个东风,好好学习一下 Kotlin。

阅读更多