使用Spring-Cache的两条限制

Spring-Cache的注解实现原理是Spring AOP,而Spring AOP的默认模式是代理(mode="proxy"),所以注定了以下两条限制:
基于注解的缓存仅适用于public方法
基于注解的缓存仅适用于Bean的外部调用,即某bean的methord1 调用自身的methord2时,缓存不会生效
如果要解决上述限制,考虑Spring AOP配置为AspectJ的方式(mode="aspectj").


Method visibility and cache annotations
When using proxies, you should apply the cache annotations only to methods with public visibility. 
If you do annotate protected, private or package-visible methods with these annotations, no error is raised, 
but the annotated method does not exhibit the configured caching settings. 
Consider the use of AspectJ (see below) if you need to annotate non-public methods as it changes the bytecode itself.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值