Package org.springframework.cache.annotation

# Annotation Interface CacheConfig

@Target(TYPE) @Retention(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`
  - `CachePut`
  - `CacheEvict`

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
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.
`String[]`
`value`
Alias for `cacheNames()`.

## Element Details

### value

@AliasFor("cacheNames") String[] value
Alias for `cacheNames()`.

Intended to be used when no other attributes are needed, for example: `@CacheConfig("books")`.

Since:
  6.2.9

Default:
  {}

### cacheNames

@AliasFor("value") 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()`.

See Also:
  - `value()`

Default:
  {}

### keyGenerator

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

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

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:
  ""