31.1.9 Guava

如果存在Guava,GuavaCacheManager会自动配置。使用spring.cache.cache-names属性可以在启动时创建缓存,并通过以下方式之一自定义(按此顺序):

  1. spring.cache.guava.spec定义的特殊缓存
  2. com.google.common.cache.CacheBuilderSpec bean定义的
  3. com.google.common.cache.CacheBuilder bean定义的

例如,以下配置创建了一个foobar缓存,该缓存最大数量为500,存活时间为10分钟:

  1. spring.cache.cache-names=foo,bar
  2. spring.cache.guava.spec=maximumSize=500,expireAfterAccess=600s

此外,如果定义com.google.common.cache.CacheLoader bean,它会自动关联到GuavaCacheManager。由于该CacheLoader将关联该缓存管理器管理的所有缓存,它必须定义为CacheLoader<Object, Object>,自动配置会忽略所有泛型类型。