如何使用spel调用非静态方法获取redis key?
How to invoke non-static method to get redis key using spel?
我正在阅读 spring 为 Redis 缓存创建自定义键的文档。
https://docs.spring.io/spring/docs/4.1.x/spring-framework-reference/html/cache.html
其中一个例子是
@Cacheable(value="books", key="T(someType).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
现在如果我想使用静态散列方法生成密钥,这是有效的class。但是如何使用非静态方法生成密钥 class ?
class A{
@Cacheable(value="books", key="(A).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
String hash(){
return ..some logic;
}
我试过这种方法..它不起作用..
您需要使用 bean 名称来引用实例。
@Cacheable(value="books", key="@aBeanName.hash(#isbn)")
我正在阅读 spring 为 Redis 缓存创建自定义键的文档。
https://docs.spring.io/spring/docs/4.1.x/spring-framework-reference/html/cache.html
其中一个例子是
@Cacheable(value="books", key="T(someType).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
现在如果我想使用静态散列方法生成密钥,这是有效的class。但是如何使用非静态方法生成密钥 class ?
class A{
@Cacheable(value="books", key="(A).hash(#isbn)")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
String hash(){
return ..some logic;
}
我试过这种方法..它不起作用..
您需要使用 bean 名称来引用实例。
@Cacheable(value="books", key="@aBeanName.hash(#isbn)")