org.springframework.cache.annotation

## Annotation Type CacheConfig

-     @Target(value=TYPE)
       @Retention(value=RUNTIME)
       @Documented
      public @interface CacheConfig

  `@CacheConfig` provides a mechanism for sharing common cache-related settings at the class level.

  When this annotation is present on a given class, it provides a set of default settings for any cache operation defined in that class.

  Since:
    4.1
  Author:
    Stephane Nicoll, Sam Brannen
  See Also:
    `Cacheable`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `cacheManager` The bean name of the custom `CacheManager` to use to create a default `CacheResolver` if none is set already.
    `String[]` | `cacheNames` Names of the default caches to consider for caching operations defined in the annotated class.
    `String` | `cacheResolver` The bean name of the custom `CacheResolver` to use.
    `String` | `keyGenerator` The bean name of the default `KeyGenerator` to use for the class.

- - ### Element Detail

    - #### cacheNames

          public abstract String[] cacheNames

      Names of the default caches to consider for caching operations defined in the annotated class.

      If none is set at the operation level, these are used instead of the default.

      Names may be used to determine the target cache(s), to be resolved via the configured `cacheResolver()` which typically delegates to `CacheManager.getCache(java.lang.String)`. For further details see `Cacheable.cacheNames()`.

      Default:
        {}

  - - #### keyGenerator

          public abstract String keyGenerator

      The bean name of the default `KeyGenerator` to use for the class.

      If none is set at the operation level, this one is used instead of the default.

      The key generator is mutually exclusive with the use of a custom key. When such key is defined for the operation, the value of this key generator is ignored.

      Default:
        ""

  - - #### cacheManager

          public abstract String cacheManager

      The bean name of the custom `CacheManager` to use to create a default `CacheResolver` if none is set already.

      If no resolver and no cache manager are set at the operation level, and no cache resolver is set via `cacheResolver()`, this one is used instead of the default.

      See Also:
        `SimpleCacheResolver`
      Default:
        ""

  - - #### cacheResolver

          public abstract String cacheResolver

      The bean name of the custom `CacheResolver` to use.

      If no resolver and no cache manager are set at the operation level, this one is used instead of the default.

      Default:
        ""