## org.springframework.cache.annotation
Annotation Type Cacheable

    @Target(value={METHOD,TYPE})
    @Retention(value=RUNTIME)
    @Inherited
    @Documented
    public @interface Cacheable

Annotation indicating that a method (or all the methods on a class) can be cached.

The method arguments and signature are used for computing the key while the returned instance is used as the cache value.

Since:
  3.1
Author:
  Costin Leau

Required Element Summary
`String[]` `value` Name of the caches in which the update takes place.

Optional Element Summary
`String` `condition` Spring Expression Language (SpEL) attribute used for conditioning the method caching.
`String` `key` Spring Expression Language (SpEL) attribute for computing the key dynamically.

Element Detail

### value

    public abstract String[] value

  Name of the caches in which the update takes place.

  May be used to determine the target cache (or caches), matching the qualifier value (or the bean name(s)) of (a) specific bean definition.

### key

    public abstract String key

  Spring Expression Language (SpEL) attribute for computing the key dynamically.

  Default is "", meaning all method parameters are considered as a key.

  Default:
    ""

### condition

    public abstract String condition

  Spring Expression Language (SpEL) attribute used for conditioning the method caching.

  Default is "", meaning the method is always cached.

  Default:
    ""