如何使用spel调用非静态方法获取redis键?

问题描述 投票:0回答:1

我在阅读spring文档,为redis缓存创建自定义键。

https:/docs.spring.iospringdocs4.1.xspring-framework-referencehtmlcache.html。

其中一个例子是

@Cacheable(value="books", key="T(someType).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)

现在,如果我想使用静态类的哈希方法来生成密钥,这是有道理的,但如何使用非静态类的方法来生成密钥呢?但如何使用非静态类的方法生成密钥?

class A{

@Cacheable(value="books", key="(A).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)


String hash(){

return ..some logic;

}

我试过这种方法......它没有工作。

spring-data-jpa spring-el spring-data-redis
1个回答
1
投票

你需要使用bean名称来引用一个实例。

@Cacheable(value="books", key="@aBeanName.hash(#isbn)")
© www.soinside.com 2019 - 2024. All rights reserved.