anchor.diff:  	}
   ----
   
  -NOTE: You can either use the standard JSR-107 (JCache) annotations or Spring's own
  -caching annotations transparently. We strongly advise you however to not mix and match
  -them.
  +This example demonstrates the use of caching on a potentially costly operation. Before
  +invoking `computePiDecimal`, the abstraction will look for an entry in the `piDecimals`
  +cache matching the `i` argument. If an entry is found, the content in the cache is
  +immediately returned to the caller and the method is not invoked. Otherwise, the method is
  +invoked and the cache is updated before returning the value.
  +
  +NOTE: You can also use the standard JSR-107 (JCache) annotations (e.g. `@CacheResult`)
  +transparently. We strongly advise you however to not mix and match them.
   
   TIP: It is also possible to {spring-reference}/#cache-annotations-put[update] or
   {spring-reference}/#cache-annotations-evict[evict] data from the cache transparently.
  
positive.code: 
  [source,java,indent=0]
  ----
  	import javax.cache.annotation.CacheResult;
  
  	import org.springframework.stereotype.Component;
  
  	@Component
  	public class MathService {
  
  		@CacheResult
  		public int computePiDecimal(int i) {
  			// ...
  		}
  
negative.code: ==== Simple
  If none of these options worked out, a simple implementation using `ConcurrentHashMap`
  as cache store is configured. This is the default if no caching library is present in
  your application. Caches are created on-the-fly by default but you can restrict the list
  of available caches using the `cache-names` property. For instance, you you want only a
  `foo` and `bar` caches:
  
  [source,properties,indent=0]
  ----
      spring.cache.cache-names=foo,bar
  ----
  
  
  
  