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批註還是有其他方法可以做到這一點?