@Cacheable失效
一.场景
场景1:
getCache使用@Cacheable注解进行缓存配置
通过service注入对象直接调用getCache方法
场景2:
service新增showcache方法,本地调用getCache()方法
场景3:
通过companyService注入对象调用getComCache()方法
二.现象
现象1:
@Cacheable缓存成功:首次进入方法,未使用缓存,第二次成功调用缓存,未进入方法体
现象2:
@Cacheable缓存失效:两次均进入了方法,未使用缓存
现象3:
@Cacheable缓存成功:首次进入方法,未使用缓存,第二次成功调用缓存,未进入方法体
三.结论
@Cacheable原理为SpringAop,执行aop拦截时是使用依赖注入的代理对象执行拦截方法,所以需要使用IOC依赖注入的对象调用method,才能使AOP生效,从而使用缓存
四.扩展
@Transactional事务、自定义AOP注解等均需要注意同类问题,需要通过IOC对象进行方法调用才能进入AOP切面切点方法。
@Cacheable失效相关推荐
- Spring@Cacheable注解在类内部调用失效的问题
如图所示,getRecomendGoogs方法里面调用findImgUrlByName方法,在findImgUrlByName方法上使用@Cacheable注解的时候,并没有走缓存. 要解决这个问题, ...
- 注解@Cacheable(value =“XXX“) 实现缓存 -- 失效原因
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一个项目中使用到了注解缓存,但无论怎么检查都不生效,反复确认缓存的使用本身应该没有出错. 最后确认原 ...
- Cacheable注解使用详解
完成Redis基础配置之后,就可以使用Redis对数据进行缓存了. 最简单的方式就是使用springframe为我们提供的@Cacheable注解,以下是@Cacheable注解的具体使用方式. @C ...
- @transactional注解_为啥同一个类中普通方法调用Spring注解方法,注解会失效?看完你就明白,So easy!...
Spring注解(如@Transactional.@Cacheable.@Async等),在使用不当时,很可能会失效.失效的情况有很多种,本文我们就来瞅瞅,为啥同一个类中普通方法调用Spring注解方 ...
- Spring AOP注解为什么失效?90%Java程序员不知道
转载自 Spring AOP注解为什么失效?90%Java程序员不知道 使用Spring Aop注解的时候,如@Transactional, @Cacheable等注解一般需要在类方法第一个入口的地方 ...
- SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法...
由于项目需要使用SpringCache来做一点缓存,但自己之前没有使用过(其实是没有听过)SpringCache,于是,必须先学习之. 在网上找到一篇文章,比较好,就先学习了,地址是: https:/ ...
- 项目总结--3(@Cacheable的使用方法和使用技巧)
在项目中缓存是经常要用到的,之前用的缓存都是Redis做为缓存的,但是在实际工作中用到缓存的地方是非常多,但是又不是只有Redis这一种操作,实际中可以用到的缓存还有SpringBoot,中的@Cac ...
- @Cacheable缓存注解使用
目录 1.1 概述 1.2 @Cacheable使用 1.3 整合Redisson缓存 1.4 整合Guava本地缓存 从spring3.1开始,Spring引入了对Cache的支持.其使用方法和原理 ...
- cacheable注解原理_@Cacheable的实现原理
如果你用过Spring Cache,你一定对这种配置和代码不陌生: 上面两段代码,xml是启用Cache Annotation注解并注册一个cacheManager,第二段代码在getData的时候会 ...
最新文章
- WMI Series :事件预订和处理
- 计算机设计大赛颁奖典礼主持稿的串词,比赛颁奖典礼主持词
- 【Android】不使用WebView来执行Javascript脚本(Rhino)
- php使用fopen乱码,php下fopen中文文件名乱码怎么办?
- 实时可视化 Debug:VS Code 开源新工具,一键解析代码结构
- python图表可视化工具_比Excel制图更强大,Python可视化工具Altair入门教程
- sqlalchemy 事务
- pmp项目变更的流程图_PMP流程图
- 精彩回顾 | Apache Flink Meetup · 北京站(附PPT下载)
- C++ 多线程编程 封装多线程api 类似java多线程风格
- 大数据技术原理与应用(最后三天备考!!!)
- Win11 Windows聚焦不更新了怎么解决?聚焦锁屏图片不更换怎么办
- 当我在荒废时间的时候会有多少人在拼命
- 【操作系统原理-陈渝老师】第一章 课程介绍及操作系统初识
- PySpark——开启大数据分析师之路
- 用canvas和原生JS写的一个flappy bird游戏
- Tomcat学习之路
- 国企工作,让我有更多时间了解VCN中文编程
- matlab图源代码,[转载]常用的一些图像处理Matlab源代码
- java: 关于反射
热门文章
- Python:实现hill climbing爬山法用来寻找函数的最大值算法(附完整源码)
- Unity官方案例之星际航行游戏(Space Shooter)学习总结
- 台达PLC实现远程下载程序
- Golang 对接Google翻译
- 报错:[Banner] The number of titles and images is different
- FrontEnd笔记 -- PhotoShop
- HTML的style属性(替代font等标签)
- RMON 远端网络监控
- 浅谈市场降温后的区块链发展前景
- Python | 用Python画个美队盾牌送给你