クラス AnnotationCacheOperationSource

java.lang.ObjectSE
org.springframework.cache.interceptor.AbstractFallbackCacheOperationSource
org.springframework.cache.annotation.AnnotationCacheOperationSource
実装されたすべてのインターフェース:
SerializableSECacheOperationSource

public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperationSource implements SerializableSE
アノテーション形式でメタデータをキャッシュするための CacheOperationSource インターフェースの実装。

このクラスは、Spring の CacheableCachePutCacheEvict アノテーションを読み取り、対応するキャッシュ操作定義を Spring のキャッシュインフラストラクチャに公開します。このクラスは、カスタム CacheOperationSource の基本クラスとしても機能します。

導入:
3.1
作成者:
Costin Leau, Juergen Hoeller, Stephane Nicoll
関連事項:
  • コンストラクターの詳細

    • AnnotationCacheOperationSource

      public AnnotationCacheOperationSource()
      デフォルトの AnnotationCacheOperationSource を作成し、Cacheable および CacheEvict アノテーションを運ぶ public メソッドをサポートします。
    • AnnotationCacheOperationSource

      public AnnotationCacheOperationSource(boolean publicMethodsOnly)
      デフォルトの AnnotationCacheOperationSource を作成し、Cacheable および CacheEvict アノテーションを運ぶ public メソッドをサポートします。
      パラメーター:
      publicMethodsOnly - 通常はプロキシベースの AOP で使用するためのアノテーション付き public メソッドのみをサポートするか、保護 / プライベートメソッドもサポートするか (通常、AspectJ クラスのウィービングで使用されます)
    • AnnotationCacheOperationSource

      public AnnotationCacheOperationSource(CacheAnnotationParser annotationParser)
      カスタム AnnotationCacheOperationSource を作成します。
      パラメーター:
      annotationParser - 使用する CacheAnnotationParser
    • AnnotationCacheOperationSource

      public AnnotationCacheOperationSource(CacheAnnotationParser... annotationParsers)
      カスタム AnnotationCacheOperationSource を作成します。
      パラメーター:
      annotationParsers - 使用する CacheAnnotationParser
    • AnnotationCacheOperationSource

      public AnnotationCacheOperationSource(SetSE<CacheAnnotationParser> annotationParsers)
      カスタム AnnotationCacheOperationSource を作成します。
      パラメーター:
      annotationParsers - 使用する CacheAnnotationParser
  • メソッドの詳細

    • isCandidateClass

      public boolean isCandidateClass(ClassSE<?> targetClass)
      インターフェースからコピーされた説明: CacheOperationSource
      指定されたクラスが、この CacheOperationSource のメタデータ形式のキャッシュ操作の候補であるかどうかを判断します。

      このメソッドが false を返す場合、指定されたクラスのメソッドは CacheOperationSource.getCacheOperations(java.lang.reflect.Method, java.lang.Class<?>) イントロスペクションのために走査されません。false を返すことは、影響を受けないクラスの最適化です。一方、true は、クラスが特定のクラスの各メソッドに対して個別に完全に内省する必要があることを意味します。

      次で指定:
      インターフェース CacheOperationSourceisCandidateClass 
      パラメーター:
      targetClass - 内省するクラス
      戻り値:
      false (クラスがクラスまたはメソッドレベルでキャッシュ操作メタデータを持たないことがわかっている場合)。それ以外の場合は true。デフォルトの実装は true を返し、通常のイントロスペクションが行われます。
    • findCacheOperations

      @Nullable protected CollectionSE<CacheOperation> findCacheOperations(ClassSE<?> clazz)
      クラスからコピーされた説明: AbstractFallbackCacheOperationSource
      サブクラスは、指定されたクラスのキャッシュ操作 (存在する場合) を返すためにこれを実装する必要があります。
      次で指定:
      クラス AbstractFallbackCacheOperationSourcefindCacheOperations 
      パラメーター:
      clazz - キャッシュ操作を取得するクラス
      戻り値:
      このクラスに関連付けられたすべてのキャッシュ操作、または何もない場合は null 
    • findCacheOperations

      @Nullable protected CollectionSE<CacheOperation> findCacheOperations(MethodSE method)
      クラスからコピーされた説明: AbstractFallbackCacheOperationSource
      サブクラスは、指定されたメソッドのキャッシュ操作 (存在する場合) を返すためにこれを実装する必要があります。
      次で指定:
      クラス AbstractFallbackCacheOperationSourcefindCacheOperations 
      パラメーター:
      method - キャッシュ操作を取得するメソッド
      戻り値:
      このメソッドに関連付けられたすべてのキャッシュ操作、またはない場合は null 
    • determineCacheOperations

      指定された AnnotationCacheOperationSource.CacheOperationProvider のキャッシュ操作を決定します。

      この実装は、既知のアノテーションを Spring のメタデータ属性クラスに解析するための構成済み CacheAnnotationParsers に委譲します。

      オーバーライドして、キャッシュメタデータを運ぶカスタムアノテーションをサポートできます。

      パラメーター:
      provider - 使用するキャッシュ操作プロバイダー
      戻り値:
      設定されたキャッシング操作。見つからない場合は null 
    • allowPublicMethodsOnly

      protected boolean allowPublicMethodsOnly()
      デフォルトでは、public メソッドのみをキャッシュ可能にできます。
      オーバーライド:
      クラス AbstractFallbackCacheOperationSourceallowPublicMethodsOnly 
    • equals

      public boolean equals(@Nullable ObjectSE other)
      オーバーライド:
      クラス ObjectSEequalsSE 
    • hashCode

      public int hashCode()
      オーバーライド:
      クラス ObjectSEhashCode