anchor.diff:  [[boot-features-caching-provider-caffeine]]
   ==== Caffeine
   Caffeine is a Java 8 rewrite of Guava’s cache and will supersede the Guava support in
  -Spring Boot 2.0. If Caffeine is present, a `CaffeineCacheManager` is auto-configured.
  -Caches can be created on startup using the `spring.cache.cache-names` property and
  -customized by one of the following (in this order):
  +Spring Boot 2.0. If Caffeine is present, a `CaffeineCacheManager` (provided by the
  +`spring-boot-starter-cache` '`Starter`') is auto-configured. Caches can be created on
  +startup using the `spring.cache.cache-names` property and customized by one of the
  +following (in this order):
   
   1. A cache spec defined by `spring.cache.caffeine.spec`
   2. A `com.github.benmanes.caffeine.cache.CaffeineSpec` bean is defined
  
positive.code: [[boot-features-caching-provider-ehcache2]]
  ==== EhCache 2.x
  EhCache 2.x is used if a file named `ehcache.xml` can be found at the root of the
  classpath. If EhCache 2.x and such file is present it is used to bootstrap the cache
  manager. An alternate configuration file can be provide a well using:
  
  [source,properties,indent=0]
  ----
  
negative.code: [[boot-features-caching-provider-jcache]]
  ==== JCache (JSR-107)
  JCache is bootstrapped via the presence of a `javax.cache.spi.CachingProvider` on the
  classpath (i.e. a JSR-107 compliant caching library) and the `JCacheCacheManager`
  provided by the `spring-boot-starter-cache` '`Starter`'. There are various compliant
  libraries out there and Spring Boot provides dependency management for Ehcache 3,
  Hazelcast and Infinispan. Any other compliant library can be added as well.
  
  It might happen that more than one provider is present, in which case the provider must
  be explicitly specified. Even if the JSR-107 standard does not enforce a standardized
  