title: @CacheEvict key not working
body: <p>When I use CacheEvict with all entries, it works all fine:</p>
  
  <pre><code>@CacheEvict(value = "users", allEntries = true)
  </code></pre>
  
  <p>But when I want to use key to remove given cache entry, it just can't find the key and throws NullPointerException. I'm sure I'm passing a non-null value as the parameter.</p>
  
  <pre><code>@CacheEvict(value = "users", key = "#username")
  void edit(String username, @Param(value = "user") User user);
  
  java.lang.NullPointerException: null
      at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:782)
      at com.google.common.cache.LocalCache$LocalManualCache.invalidate(LocalCache.java:5080)
      at org.springframework.cache.guava.GuavaCache.evict(GuavaCache.java:139)
      at org.springframework.cache.interceptor.AbstractCacheInvoker.doEvict(AbstractCacheInvoker.java:98)
      at org.springframework.cache.interceptor.CacheAspectSupport.performCacheEvict(CacheAspectSupport.java:480)
      at org.springframework.cache.interceptor.CacheAspectSupport.processCacheEvicts(CacheAspectSupport.java:463)
      at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:421)
      at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:327)
      at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)
  
  ...
  </code></pre>