org.springframework.cache.annotation

## Annotation Type CachePut

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

  Annotation indicating that a method (or all methods on a class) trigger(s) a `Cache.put(Object, Object)` operation. As opposed to `Cacheable` annotation, this annotation does not cause the target method to be skipped - rather it always causes the method to be invoked and its result to be placed into the cache.
  Since:
    3.1
  Author:
    Costin Leau, Phillip Webb

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String[]` | `value` Name of the caches in which the update takes place.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `condition` Spring Expression Language (SpEL) attribute used for conditioning the cache update.
    `String` | `key` Spring Expression Language (SpEL) attribute for computing the key dynamically.
    `String` | `unless` Spring Expression Language (SpEL) attribute used to veto the cache update.

- - ### 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 cache update.

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

      Default:
        ""

  - - #### unless

          public abstract String unless

      Spring Expression Language (SpEL) attribute used to veto the cache update.

      Unlike `condition()`, this expression is evaluated after the method has been called and can therefore refer to the `result`. Default is "", meaning that caching is never vetoed.

      Since:
        3.2
      Default:
        ""