首页 > 其他分享 >无参数方法的@Cacheble注释

无参数方法的@Cacheble注释

时间:2023-10-11 12:01:44浏览次数:40  
标签:Cacheable cache 注释 Cacheble 参数 key test public

@Cacheable(value="usercache", key = "mykey")
public string sayHello(){
    return "test"
}

无参方法,设置Cache的key值时,报错

rg.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Property or field ‘mykey’ cannot be found on object of type ‘org.springframework.cache.interceptor.CacheExpressionRootObject’ - maybe not public?

It seems that Spring doesn’t allow you to provide a static text for the cache key in the SPEL, and it doesn’t include as default the name of the method on the key, so, you could be in a situation when two methods using the same cacheName and without a key would potentially cache different results with the same key.

解决方案

@Cacheable(value="usercache", key = "#root.methodName")
public string sayHello(){
return "test"
}

public static final String MY_KEY = "mykey";

@Cacheable(value="usercache", key = "#root.target.MY_KEY")
public string sayHello(){
return "test"
}

参考:
无参数方法的@Cacheble注释(@Cacheble annotation on no parameter method)
Spring Cache key生成策略, 不要想当然认为是全类名+方法+参数

标签:Cacheable,cache,注释,Cacheble,参数,key,test,public
From: https://www.cnblogs.com/roak/p/17756753.html

相关文章

  • jquery uploadify动态更新配置参数方法uploadifySettings()
    1.使用scriptData给后台传参数的时候,必须声明'method':'GET',因为默认是POST2.$("#uploadify").uploadifySettings('scriptData',{'name':'liudong','age':22});动态更新配置参数$("#uploadify&quo......
  • window.location.href中文参数
    1.window.location.href=url+"&name="+encodeURI(encodeURI(name));name是中文,客户端编码两次,服务器端只需要解码一次name=java.net.URLDecoder.decode(name,"UTF-8");2.window.location.href=url+"&name="+encod......
  • JVM参数 参考
    JVM参数 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; ​ 非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用(但是,这些参数往往是非常有用......
  • R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化|附代码数据
    全文链接:http://tecdat.cn/?p=32511原文出处:拓端数据部落公众号时间序列模型的理论已经非常丰富,模型的应用也相当广泛。但现实生活中,越来越多的时间序列模型呈现出了非线性的特点,因此,研究非线性时间序列模型的理论及对其参数进行估计有着极其重要的意义。门限模型作为非线性......
  • 注释之重——程序员与代码可维护性
    前言在软件开发领域,注释是一个备受争议的话题。一些程序员坚持认为,优秀的代码应该自文档化,即代码本身应该足够清晰,不需要注释。然而,也有许多程序员认为,合适的注释对于代码的可维护性至关重要。本文将探讨程序员不写注释的问题,以及为什么注释对于程序员和代码都是宝贵的资源。1......
  • MT8390安卓核心板参数_联发科Genio 700智能模组
    MT8390安卓核心板是一款功能强大且高度集成的平台,专为广泛的人工智能(AI)和物联网(IoT)应用案例而设计。它具备高性能边缘处理、先进的多媒体和连接能力、多个高分辨率摄像头、连接的触摸屏显示以及多任务高级操作系统的使用。MT8390安卓核心板采用高性能的八核应用处理器,......
  • jmeter,CSV数据驱动_参数化
    接口不仅只有正例,还有反例,使用的是CVS的参数化处理,正例和反例仅仅是因为参数不一样如何接口做参数化处理?在存放代码目前下新建一个CSV文件,使用N++打开,加上3个参数 将以上三个参数与值,写在CSV上面,使用豆号隔开,如下图,字段与值是一一对应的 在jmeter的这个位置加一个配置元......
  • MySQL业务用户无法修改的会话级别参数
    对于MySQL的系统参数,有些参数只能在全局级别(global)修改,有些参数能在全局和会话(session)级别修改。对于能在会话级别修改的参数,应用用户也可以在当前会话中修改需要的参数来实现不同的业务需求。比如sql_mode参数,如果不同的应用可以根据不同的需求在各自的session中进行修改。此外,......
  • 4、SpringMVC之获取请求参数
    4.1环境搭建创建名为spring_mvc_demo2的新module,过程参考3.1节4.1.1、创建请求控制器packageorg.rain.controller;importorg.springframework.stereotype.Controller;/***@authorliaojy*@date2023/10/9-8:32*/@ControllerpublicclassTestParamContro......
  • PostMan环境变量、全局变量、动态参数使用
    一、环境准备postmanmoco[{"description":"登录认证","request":{"uri":"/login","method":"post","forms":{"user":"admin&q......