2015-07-03 24 views
1

我使用@Cacheable註釋從下方獲取電影列表。由於它沒有任何參數,因此我將鍵設置爲#root.method.name。如何使用帶@Cacheable註解的@CachePut?

@Cacheable(value="movieFindCache", key = "#root.method.name") 
public List<Movie> getMovies(){ 
    ... 
    return movies; 
} 

現在我想添加一個新電影,同樣應該被添加到上面的緩存。

@CachePut(value="movieFindCache", key="getMovies") 
public void addNewMovie(){ 
    // create and add new movie to movies list 
} 

我試過這個,但它給了我例外。

org.springframework.expression.spel.SpelEvaluationException: 
Property or field 'getMovies' cannot be found on object of type 'org.springframework.cache.interceptor.CacheExpressionRootObject' - maybe not public? 

我們可以在這裏使用@CachePut批註還是有其他方法可以做到這一點?

回答

相關問題