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

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

### Optional Element Summary

Optional Elements
`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:
  ""