クラス AbstractAdvisorAutoProxyCreator
java.lang.ObjectSE
org.springframework.aop.framework.ProxyConfig
org.springframework.aop.framework.ProxyProcessorSupport
org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator
- 実装されたすべてのインターフェース:
SerializableSE
、AopInfrastructureBean
、Aware
、BeanClassLoaderAware
、BeanFactoryAware
、BeanPostProcessor
、InstantiationAwareBeanPostProcessor
、SmartInstantiationAwareBeanPostProcessor
、Ordered
- 既知の直属サブクラス
AspectJAwareAdvisorAutoProxyCreator
、DefaultAdvisorAutoProxyCreator
、InfrastructureAdvisorAutoProxyCreator
Bean ごとに検出されたアドバイザに基づいて特定の Bean の AOP プロキシを構築する汎用自動プロキシクリエーター。
サブクラスは findCandidateAdvisors()
メソッドをオーバーライドして、任意のオブジェクトに適用されるアドバイザのカスタムリストを返すことができます。サブクラスは、継承された AbstractAutoProxyCreator.shouldSkip(java.lang.Class<?>, java.lang.String)
メソッドをオーバーライドして、特定のオブジェクトを自動プロキシから除外することもできます。
オーダーを必要とするアドバイザーまたはアドバイスには、@Order
のアノテーションを付けるか、Ordered
インターフェースを実装する必要があります。このクラスは、AnnotationAwareOrderComparator
を使用してアドバイザーをソートします。@Order
でアノテーションが付けられていない、または Ordered
インターフェースを実装していないアドバイザは、順序付けされていないと見なされます。それらは、未定義の順序でアドバイザチェーンの最後に表示されます。
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
フィールドサマリー
クラス org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator から継承されたフィールド
DO_NOT_PROXY, logger, PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明protected boolean
この自動プロキシ作成者は常に事前にフィルタリングされたアドバイザを返します。protected void
extendAdvisors
(ListSE<Advisor> candidateAdvisors) これまでに取得したソートされたアドバイザを前提として、サブクラスがオーバーライドして追加のアドバイザを登録できる拡張フック。findAdvisorsThatCanApply
(ListSE<Advisor> candidateAdvisors, ClassSE<?> beanClass, StringSE beanName) 指定されたアドバイザ候補を検索して、指定された Bean に適用できるすべてのアドバイザを見つけます。自動プロキシで使用するすべての候補アドバイザーを見つけます。findEligibleAdvisors
(ClassSE<?> beanClass, StringSE beanName) このクラスを自動プロキシするためのすべての適格なアドバイザーを見つけます。protected ObjectSE[]
getAdvicesAndAdvisorsForBean
(ClassSE<?> beanClass, StringSE beanName, TargetSource targetSource) 指定された Bean がプロキシされるかどうか、および適用する追加のアドバイス (たとえば、AOP Alliance インターセプター) とアドバイザーを返します。protected void
initBeanFactory
(ConfigurableListableBeanFactory beanFactory) protected boolean
isEligibleAdvisorBean
(StringSE beanName) 指定された名前のアドバイザ Bean が最初からプロキシに適格かどうかを返します。void
setBeanFactory
(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。sortAdvisors
(ListSE<Advisor> advisors) 順序付けに基づいてアドバイザーをソートします。クラス org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator から継承されたメソッド
buildAdvisors, createProxy, customizeProxyFactory, determineBeanType, determineCandidateConstructors, getBeanFactory, getCacheKey, getCustomTargetSource, getEarlyBeanReference, isFrozen, isInfrastructureClass, postProcessAfterInitialization, postProcessBeforeInstantiation, postProcessProperties, predictBeanType, setAdvisorAdapterRegistry, setApplyCommonInterceptorsFirst, setCustomTargetSourceCreators, setFrozen, setInterceptorNames, shouldProxyTargetClass, shouldSkip, wrapIfNecessary
クラス org.springframework.aop.framework.ProxyProcessorSupport から継承されたメソッド
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader
クラス org.springframework.aop.framework.ProxyConfig から継承されたメソッド
copyFrom, isExposeProxy, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setOpaque, setOptimize, setProxyTargetClass, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.config.BeanPostProcessor から継承されたメソッド
postProcessBeforeInitialization
インターフェース org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor から継承されたメソッド
postProcessAfterInstantiation
コンストラクターの詳細
AbstractAdvisorAutoProxyCreator
public AbstractAdvisorAutoProxyCreator()
メソッドの詳細
setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware
所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAware
のsetBeanFactory
- オーバーライド:
- クラス
AbstractAutoProxyCreator
のsetBeanFactory
- パラメーター:
beanFactory
- 所有 BeanFactory(非null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項:
initBeanFactory
getAdvicesAndAdvisorsForBean
@Nullable protected ObjectSE[] getAdvicesAndAdvisorsForBean(ClassSE<?> beanClass, StringSE beanName, @Nullable TargetSource targetSource) クラスからコピーされた説明:AbstractAutoProxyCreator
指定された Bean がプロキシされるかどうか、および適用する追加のアドバイス (たとえば、AOP Alliance インターセプター) とアドバイザーを返します。- 次で指定:
- クラス
AbstractAutoProxyCreator
のgetAdvicesAndAdvisorsForBean
- パラメーター:
beanClass
- アドバイスする Bean のクラスbeanName
- Bean の名前targetSource
-AbstractAutoProxyCreator.getCustomTargetSource(java.lang.Class<?>, java.lang.String)
メソッドによって返された TargetSource: は無視できます。カスタムターゲットソースが使用されていない場合は、null
になります。- 戻り値:
- 特定の Bean の追加インターセプターの配列。または追加のインターセプターではなく、一般的なインターセプターのみの場合は空の配列。または、プロキシがまったくない場合は
null
で、一般的なインターセプターさえ使用していません。定数 DO_NOT_PROXY および PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS を参照してください。 - 関連事項:
findEligibleAdvisors
このクラスを自動プロキシするためのすべての適格なアドバイザーを見つけます。- パラメーター:
beanClass
- アドバイザーを見つけるためのクラブbeanName
- 現在プロキシされている Bean の名前- 戻り値:
- ポイントカットまたはインターセプターがない場合、
null
ではなく空のリスト - 関連事項:
findCandidateAdvisors
自動プロキシで使用するすべての候補アドバイザーを見つけます。- 戻り値:
- 候補アドバイザーのリスト
findAdvisorsThatCanApply
protected ListSE<Advisor> findAdvisorsThatCanApply(ListSE<Advisor> candidateAdvisors, ClassSE<?> beanClass, StringSE beanName) 指定されたアドバイザ候補を検索して、指定された Bean に適用できるすべてのアドバイザを見つけます。- パラメーター:
candidateAdvisors
- 候補アドバイザーbeanClass
- ターゲットの Bean クラスbeanName
- ターゲットの Bean 名- 戻り値:
- 該当するアドバイザーのリスト
- 関連事項:
isEligibleAdvisorBean
指定された名前のアドバイザ Bean が最初からプロキシに適格かどうかを返します。- パラメーター:
beanName
- アドバイザ Bean の名前- 戻り値:
- Bean が適格かどうか
sortAdvisors
順序付けに基づいてアドバイザーをソートします。サブクラスは、このメソッドをオーバーライドして、ソート戦略をカスタマイズすることを選択できます。- パラメーター:
advisors
- アドバイザーのソースリスト- 戻り値:
- ソートされたアドバイザのリスト
- 関連事項:
extendAdvisors
これまでに取得したソートされたアドバイザを前提として、サブクラスがオーバーライドして追加のアドバイザを登録できる拡張フック。デフォルトの実装は空です。
通常、後のアドバイザーの一部が必要とするコンテキスト情報を公開するアドバイザーを追加するために使用されます。
- パラメーター:
candidateAdvisors
- 特定の Bean に適用するものとしてすでに識別されているアドバイザ
advisorsPreFiltered
protected boolean advisorsPreFiltered()この自動プロキシ作成者は常に事前にフィルタリングされたアドバイザを返します。- オーバーライド:
- クラス
AbstractAutoProxyCreator
のadvisorsPreFiltered
- 戻り値:
- アドバイザが事前にフィルタリングされているかどうか
- 関連事項: