@Cacheable等 同一个类失效
2019-05-09 本文已影响0人
crMiao
感觉好用的方法
配置
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
spring cache 依赖于aop
类上增加注解
@EnableAspectJAutoProxy(exposeProxy=true,proxyTargetClass=true)
exposeProxy:暴露代理对象,proxyTargetClass强制使用cglib代理
方法调用使用
((YourService)AopContext.currentProxy()).yourMethod()
使用之前需先暴露代理对象添加注解
--------------------------分割线-----------------------------
土方(算好用也不算好用)
在对应的类中注入一个自己类,然后调用
public class ExampleService {
@Autowired
private ExampleService instance;
public void doSomething(){
...
Object object = instance.getObject();
...
}
@Cacheable(value="example")
public Object getObject(){
...
return Object object;
}
}