アノテーションインターフェース CachePut
@TargetSE({TYPESE,METHODSE})
@RetentionSE(RUNTIMESE)
@InheritedSE
@DocumentedSE
@Reflective
public @interface CachePut
 メソッド(またはクラスのすべてのメソッド)が 
cache put 操作をトリガーすることを示すアノテーション。@Cacheable アノテーションとは対照的に、このアノテーションによって推奨されるメソッドがスキップされることはありません。むしろ、condition() 式と unless() 式がそれに応じて一致する場合、常にメソッドが呼び出され、その結果が関連するキャッシュに格納されます。Java8 の Optional 戻り値の型は自動的に処理され、その内容が存在する場合はキャッシュに格納されることに注意してください。
このアノテーションをメタアノテーションとして使用して、属性をオーバーライドしたカスタム合成アノテーションを作成できます。
- 導入:
- 3.1
- 作成者:
- Costin Leau, Phillip Webb, Stephane Nicoll, Sam Brannen
- 関連事項:
- オプション要素の概要オプション要素修飾子と型オプションの要素説明デフォルト- CacheResolverがまだ設定されていない場合に作成するために使用するカスタム- CacheManagerの Bean 名。- StringSE[]キャッシュ書き込み操作に使用するキャッシュの名前。使用するカスタム- CacheResolverの Bean 名。キャッシュ書き込み操作を条件付きにするために使用される Spring 式言語(SpEL)式。キーを動的に計算するための Spring Expression Language(SpEL)式。使用するカスタム- KeyGeneratorの Bean 名。キャッシュの書き込み操作を拒否するために使用される Spring 式言語(SpEL)式。- StringSE[]- cacheNames()のエイリアス。
- 要素の詳細- value- cacheNames()のエイリアス。- デフォルト:
- {}
 
- cacheNamesキャッシュ書き込み操作に使用するキャッシュの名前。- 名前を使用して、特定の Bean 定義の修飾子の値または Bean 名に一致するターゲットキャッシュ(1 つまたは複数)を決定できます。 - 導入:
- 4.2
- 関連事項:
 - デフォルト:
- {}
 
- keyStringSE keyキーを動的に計算するための Spring Expression Language(SpEL)式。- デフォルトは - ""です。つまり、カスタム- keyGenerator()が設定されていない限り、すべてのメソッドパラメーターがキーと見なされます。- SpEL 式は、次のメタデータを提供する専用のコンテキストに対して評価します。 - メソッド呼び出しの結果への参照については、#result。Optionalなどのサポートされているラッパーの場合、#resultはラッパーではなく実際のオブジェクトを参照します
-  それぞれ methodSE、ターゲットオブジェクト、影響を受けるキャッシュへの参照用の#root.method、#root.target、#root.caches。
-  メソッド名(#root.methodName)およびターゲットクラス(#root.targetClass)のショートカットも利用できます。
- メソッドの引数はインデックスでアクセスできます。たとえば、2 番目の引数は #root.args[1]、#p1、#a1を介してアクセスできます。その情報が利用可能な場合、引数は名前でアクセスすることもできます。
 - デフォルト:
- ""
 
- メソッド呼び出しの結果への参照については、
- keyGeneratorStringSE keyGenerator使用するカスタム- KeyGeneratorの Bean 名。- key()属性と相互に排他的です。- デフォルト:
- ""
 
- cacheManagerStringSE cacheManagerデフォルト- CacheResolverがまだ設定されていない場合に作成するために使用するカスタム- CacheManagerの Bean 名。- cacheResolver()属性と相互に排他的です。- デフォルト:
- ""
 
- cacheResolverStringSE cacheResolver使用するカスタム- CacheResolverの Bean 名。- デフォルト:
- ""
 
- conditionStringSE conditionSpring キャッシュ書き込み操作を条件付きにするために使用される式言語 (SpEL) 式。条件が- trueと評価された場合、キャッシュを更新します。- この式は、プット操作の性質上、メソッドが呼び出された後に評価されるため、 - resultを参照できます。- デフォルトは - ""です。つまり、メソッドの結果は常にキャッシュされます。- SpEL 式は、次のメタデータを提供する専用のコンテキストに対して評価します。 - メソッド呼び出しの結果への参照については、#result。Optionalなどのサポートされているラッパーの場合、#resultはラッパーではなく実際のオブジェクトを参照します
-  それぞれ methodSE、ターゲットオブジェクト、影響を受けるキャッシュへの参照用の#root.method、#root.target、#root.caches。
-  メソッド名(#root.methodName)およびターゲットクラス(#root.targetClass)のショートカットも利用できます。
- メソッドの引数はインデックスでアクセスできます。たとえば、2 番目の引数は #root.args[1]、#p1、#a1を介してアクセスできます。その情報が利用可能な場合、引数は名前でアクセスすることもできます。
 - デフォルト:
- ""
 
- メソッド呼び出しの結果への参照については、
- unlessStringSE unlessキャッシュの書き込み操作を拒否するために使用される Spring 式言語 (SpEL) 式。条件が- trueと評価された場合、キャッシュの更新を拒否します。- デフォルトは - ""です。つまり、キャッシュが拒否されることはありません。- SpEL 式は、次のメタデータを提供する専用のコンテキストに対して評価します。 - メソッド呼び出しの結果への参照については、#result。Optionalなどのサポートされているラッパーの場合、#resultはラッパーではなく実際のオブジェクトを参照します
-  それぞれ methodSE、ターゲットオブジェクト、影響を受けるキャッシュへの参照用の#root.method、#root.target、#root.caches。
-  メソッド名(#root.methodName)およびターゲットクラス(#root.targetClass)のショートカットも利用できます。
- メソッドの引数はインデックスでアクセスできます。たとえば、2 番目の引数は #root.args[1]、#p1、#a1を介してアクセスできます。その情報が利用可能な場合、引数は名前でアクセスすることもできます。
 - 導入:
- 3.2
 - デフォルト:
- ""
 
- メソッド呼び出しの結果への参照については、