首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring缓存处理可选的Java 8

使用Spring缓存处理可选的Java 8
EN

Stack Overflow用户
提问于 2016-04-25 23:01:25
回答 1查看 5.2K关注 0票数 6

考虑一个可以插入和检索对象并使用Spring缓存抽象的服务类,我如何才能以一种返回Optional的方式注释方法呢?

代码语言:javascript
复制
class MyServiceImpl implements MyService {

    private static final String CACHE_NAME = "itemCache";      

    @Override
    @Cacheable(CACHE_NAME)
    public Optional<Item> findById(Long id) {
        // access the repository to retrieve the item
    }

    @Override
    @CachePut(cacheNames = CACHE_NAME, key = "#item.id")
    public Item insertItem(Item item) {
        ...
    }

}

在上面的示例中,抛出了一个ClassCastException,因为insertItem将一个Item实例放在缓存中,而findById期望一个可能包含Item实例的Optional

EN

回答 1

Stack Overflow用户

发布于 2016-05-09 13:37:50

只是对这篇评论的后续评论,给出了一个明确的答案。我们从Spring Framework4.3 RC2开始这样做

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36844270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档