public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperationSource implements SerializableSE
CacheOperationSource
インターフェースの実装。 このクラスは、Spring の Cacheable
、CachePut
、CacheEvict
アノテーションを読み取り、対応するキャッシュ操作定義を Spring のキャッシュインフラストラクチャに公開します。このクラスは、カスタム CacheOperationSource
の基本クラスとしても機能します。
修飾子と型 | クラスと説明 |
---|---|
protected static interface | AnnotationCacheOperationSource.CacheOperationProvider 指定された CacheAnnotationParser に基づいて CacheOperation インスタンスを提供するコールバックインターフェース。 |
logger
コンストラクターと説明 |
---|
AnnotationCacheOperationSource() デフォルトの AnnotationCacheOperationSource を作成し、 Cacheable および CacheEvict アノテーションを運ぶ public メソッドをサポートします。 |
AnnotationCacheOperationSource(boolean publicMethodsOnly) デフォルトの AnnotationCacheOperationSource を作成し、Cacheable および CacheEvict アノテーションを運ぶ public メソッドをサポートします。 |
AnnotationCacheOperationSource(CacheAnnotationParser... annotationParsers) カスタム AnnotationCacheOperationSource を作成します。 |
AnnotationCacheOperationSource(CacheAnnotationParser annotationParser) カスタム AnnotationCacheOperationSource を作成します。 |
AnnotationCacheOperationSource(SetSE<CacheAnnotationParser> annotationParsers) カスタム AnnotationCacheOperationSource を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected boolean | allowPublicMethodsOnly() デフォルトでは、public メソッドのみをキャッシュ可能にできます。 |
protected CollectionSE<CacheOperation> | determineCacheOperations(AnnotationCacheOperationSource.CacheOperationProvider provider) 指定された AnnotationCacheOperationSource.CacheOperationProvider のキャッシュ操作を決定します。 |
boolean | equals(ObjectSE other) |
protected CollectionSE<CacheOperation> | findCacheOperations(ClassSE<?> clazz) サブクラスは、指定されたクラスのキャッシング属性があれば、それを返すためにこれを実装する必要があります。 |
protected CollectionSE<CacheOperation> | findCacheOperations(MethodSE method) サブクラスは、これを実装して、指定されたメソッドのキャッシュ属性を返す必要があります(存在する場合)。 |
int | hashCode() |
boolean | isCandidateClass(ClassSE<?> targetClass) 指定されたクラスが、この CacheOperationSource のメタデータ形式のキャッシュ操作の候補であるかどうかを判断します。 |
getCacheKey, getCacheOperations
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public AnnotationCacheOperationSource()
Cacheable
および CacheEvict
アノテーションを運ぶ public メソッドをサポートします。public AnnotationCacheOperationSource(boolean publicMethodsOnly)
AnnotationCacheOperationSource
を作成し、Cacheable
および CacheEvict
アノテーションを運ぶ public メソッドをサポートします。publicMethodsOnly
- 通常はプロキシベースの AOP で使用するためのアノテーション付き public メソッドのみをサポートするか、保護 / プライベートメソッドもサポートするか (通常、AspectJ クラスのウィービングで使用されます)public AnnotationCacheOperationSource(CacheAnnotationParser annotationParser)
annotationParser
- 使用する CacheAnnotationParserpublic AnnotationCacheOperationSource(CacheAnnotationParser... annotationParsers)
annotationParsers
- 使用する CacheAnnotationParserpublic AnnotationCacheOperationSource(SetSE<CacheAnnotationParser> annotationParsers)
annotationParsers
- 使用する CacheAnnotationParserpublic boolean isCandidateClass(ClassSE<?> targetClass)
CacheOperationSource
CacheOperationSource
のメタデータ形式のキャッシュ操作の候補であるかどうかを判断します。 このメソッドが false
を返す場合、指定されたクラスのメソッドは CacheOperationSource.getCacheOperations(java.lang.reflect.Method, java.lang.Class<?>)
イントロスペクションのために走査されません。false
を返すことは、影響を受けないクラスの最適化です。一方、true
は、クラスが特定のクラスの各メソッドに対して個別に完全に内省する必要があることを意味します。
CacheOperationSource
の isCandidateClass
targetClass
- 内省するクラス false
(クラスがクラスまたはメソッドレベルでキャッシュ操作メタデータを持たないことがわかっている場合)。それ以外の場合は true
。デフォルトの実装は true
を返し、通常のイントロスペクションが行われます。@Nullable protected CollectionSE<CacheOperation> findCacheOperations(ClassSE<?> clazz)
AbstractFallbackCacheOperationSource
AbstractFallbackCacheOperationSource
の findCacheOperations
clazz
- 属性を取得するクラス null
@Nullable protected CollectionSE<CacheOperation> findCacheOperations(MethodSE method)
AbstractFallbackCacheOperationSource
AbstractFallbackCacheOperationSource
の findCacheOperations
method
- 属性を取得するメソッド null
@Nullable protected CollectionSE<CacheOperation> determineCacheOperations(AnnotationCacheOperationSource.CacheOperationProvider provider)
AnnotationCacheOperationSource.CacheOperationProvider
のキャッシュ操作を決定します。 この実装は、既知のアノテーションを Spring のメタデータ属性クラスに解析するための構成済み CacheAnnotationParsers
に委譲します。
オーバーライドして、キャッシュメタデータを運ぶカスタムアノテーションをサポートできます。
provider
- 使用するキャッシュ操作プロバイダー null
protected boolean allowPublicMethodsOnly()
AbstractFallbackCacheOperationSource
の allowPublicMethodsOnly
public int hashCode()
ObjectSE
の hashCodeSE