spring 中的@cacheable的key是怎么配置的?

kidbei 发布于 2013/04/18 14:55
阅读 11K+
收藏 0
配置缓存的是使用如下注解 
@Cacheable(value="articleCache",key="#root.methodName")

表示用执行的方法名称作为key是吗? 
那如果我想要用类的全名+方法名作为key该怎么写呢?
加载中
0
tsl0922
tsl0922
很久没用Spring了,我记得文档里对这个说的挺清楚的,这种问题从文档里往往是最快找到答案的。
0
kidbei
kidbei
@红薯  小白鼠来求解了
0
kidbei
kidbei
自己来回答吧, @Cacheable(value="articleCache",key="#root.targetClass + #root.methodName")
0
skyler1
skyler1

引用来自“kidbei”的评论

自己来回答吧, @Cacheable(value="articleCache",key="#root.targetClass + #root.methodName")

root.targetClass + #root.methodName中root.targetClass、root.methodName是写的吗,如我的叫com.xxx.service.A,root.targetClass就是com.xxx.service.A是吗?

再问一句:

@CacheEvict(value="accountCache",key="#account.getName()")

public void updateAccount(Account account) {  
updateDB(account);  

account.getName()他的值为updateAccount(Account account)方法中参数accout类的name属性值的名字吗

0
o0水笔仔0o
o0水笔仔0o
如果你有用到更新和清空缓存的CachePut和CacheEvict注解的话,就不能用方法名作为key
返回顶部
顶部