@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;
    }
  }
上一篇下一篇

猜你喜欢

热点阅读