最近看到了一种使用aop和注解的方式实现缓存命中判断的实现方式,觉得非常不错。借鉴过来,进行分享。
1、引入spring和aspect相关依赖
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.6</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.6</version>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
2、创建Cache注解类,用于标识需要添加缓存的方法。
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Cache {
//缓存时间,默认60秒
int expire() default 60;
//缓存实体类型
Class<?>