社区
Web 开发
帖子详情
@cacheable 注解实现类是哪个?
舌尖跳舞
2017-12-27 05:37:11
这个id是取自参数,但是@cacheable 是如何实现从参数中取到id并执行了.toStrin()方法的。
现在我查询的是使用了ulessSpEL(spel)表达式,但是他的实现方法是什么。或者说实现了@cacheable的类是哪个
...全文
524
1
打赏
收藏
@cacheable 注解实现类是哪个?
这个id是取自参数,但是@cacheable 是如何实现从参数中取到id并执行了.toStrin()方法的。 现在我查询的是使用了ulessSpEL(spel)表达式,但是他的实现方法是什么。或者说实现了@cacheable的类是哪个
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
舌尖跳舞
2017-12-27
打赏
举报
回复
org.springframework.cache.annotation.SpringCacheAnnotationParser
Java课程实验 Spring Boot 缓存管理
在Spring Boot中,你可以使用Spring框架提供的缓存管理来提高应用程序的性能。Spring Boot支持多种缓存
实现
,包括内存缓存和分布式缓存。 1.添加缓存依赖: 在项目的 pom.xml 文件中添加所需的缓存依赖。 2.配置缓存管理器: 在应用程序的配置
类
中添加@En
able
Caching
注解
,启用缓存功能。 创建一个继承自org.springframework.
cache
.annotation.CachingConfigurerSupport的配置
类
,并重写其中的
cache
Manager()方法。 3.使用缓存
注解
: 在需要进行缓存的方法上添加缓存
注解
。例如,使用@
Cache
able
注解
来指定一个方法的结果应该被缓存。 @
Cache
able
:将方法的结果缓存起来,下次调用该方法时,如果传入的参数相同,则直接返回缓存中的数据。 @
Cache
Evict:清除指定方法的缓存数据,可以配置在方法执行前或执行后进行缓存清除。 @
Cache
Put:更新缓存数据,即使缓存已存在也会执行方法并更新缓存。 通过以上步骤,可以在Spring Boot中使用缓存管理器来提高应用程序的性能。
@
Cache
able
注解
不生效
如果在一个
类
中存在A、B两个方法,A方法使用了@
Cache
able
注解
,B方法调用A方法的时候该
注解
不会生效,原因是Spring使用@
Cache
able
创建缓存是基于AOP
实现
的,即Java的动态代理机制,解决方案: 1、使用Eh
cache
的
Cache
Manger创建缓存 2、将A、B两个方法分别放到不同的
类
中。 如果一个
类
实现
了一个接口,在
类
中的某个方法上使用@
Cache
able
注解
,那么该方法应该是重写的接口中的抽象方法; 如果一个
类
并没有
实现
接口,那么想在某个方法上使用@
Cache
able
SpringBoot通过@
Cache
able
注解
实现
缓存功能
Spring 从 3.1 开始就引入了对
Cache
的支持。定义了 和 接口来统一不同的缓存技术。并支持使用
注解
简化我们的开发。其使用方法和原理都
类
似于 Spring 对事务管理的支持,Spring
Cache
是作用在方法上的,其核心思想是,当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存在缓存中。 SpringBoot中提供的缓存
注解
@
Cache
able
,@
Cache
able
会将方法的返回值作为缓存的value,默认将方法的参数值作为缓存的key。@
Cache
able
可以标记在某个
@
Cache
able
注解
不生效原因
@
Cache
able
注解
中: 一个方法A调同一个
类
里的另一个有缓存
注解
的方法B,这样是不走缓存的。 例如在同一个service里面两个方法的调用,缓存是不生效的; 解决方案: 1.不使用
注解
的方式,直接取 Eh
cache
的
Cache
Manger 对象,把需要缓存的数据放到里面,
类
似于使用 Map,缓存的逻辑自己控制;或者可以使用redis的缓存方式去添加缓存; 2.把方法A和方...
使用@
Cache
able
注解
进行缓存与取值(Java)
通过使用@
Cache
able
注解
,我们可以方便地
实现
缓存与取值操作。首先,我们需要添加相应的依赖;然后,配置缓存管理器;最后,在需要进行缓存的方法上使用@
Cache
able
注解
。通过编写测试代码,我们可以验证缓存功能是否正常工作。根据实际需求,我们可以选择不同的缓存管理器,并通过SpEL表达式指定缓存的key。希望本文对你在Spring Boot应用程序中使用@
Cache
able
注解
进行缓存与取值有所帮助!
Web 开发
81,094
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章