这是我最终得到的,诀窍是使用'除非'
添加属性:unless = "#result == null"
@Cacheable(value="books", key="#isbn", unless = "#result == null")
public Book findBookFromCache(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
{
return null;
}
这种方法
- 根据密钥在缓存中查找
- 如果找到则返回缓存中的结果
- 如果未找到,则计算返回null的方法
- 返回值与除非条件(总是返回true)匹配
- null值不会被缓存
- null值返回给调用者