我正在阅读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 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)")