@Service
@Transactional
public class TestService {
方法1 @CacheEvict(value = {"getTestById"}, key = "'getTestById'+#test.getId()")
public void updateTest(Test test) {
//....
}
方法二
// @CacheEvict(value = {"getTestById"}, key = "'getTestById'+#test.getId()")
public boolean updateTestInfo(Test test) {
updateTest(test);
return true;
}
//假设外部方法调用 updateTestInfo 时 正常是应该 销毁掉 getTestById 缓存才是 但是 测试发现 并没有
只有再 在 updateTestInfo 申明销毁 才有效 求解 。。。。
}
5 回复
@wendal 兽哥啊能 解惑下😆
@wendal 好像 在 spring boot Application 上注解 @EnableAspectJAutoProxy(proxyTargetClass=true,exposeProxy=true)
然后serverce里调用 换成 ((TestService) AopContext.currentProxy()). updateTest(test) 这种调用方式就行了
添加回复
请先登陆