public class AspectJAwareAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCreator
AbstractAdvisorAutoProxyCreator
サブクラス。DO_NOT_PROXY, logger, PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
AspectJAwareAdvisorAutoProxyCreator() |
修飾子と型 | メソッドと説明 |
---|---|
protected void | extendAdvisors(ListSE<Advisor> candidateAdvisors) アドバイスチェーンの先頭に ExposeInvocationInterceptor を追加します。 |
protected boolean | shouldSkip(ClassSE<?> beanClass, StringSE beanName) 指定された Bean がこのポストプロセッサーによる自動プロキシと見なされない場合、サブクラスはこのメソッドをオーバーライドして true を返す必要があります。 |
protected ListSE<Advisor> | sortAdvisors(ListSE<Advisor> advisors) 提供された Advisor インスタンスを AspectJ の優先順位に従って並べ替えます。 |
advisorsPreFiltered, findAdvisorsThatCanApply, findCandidateAdvisors, findEligibleAdvisors, getAdvicesAndAdvisorsForBean, initBeanFactory, isEligibleAdvisorBean, setBeanFactory
buildAdvisors, createProxy, customizeProxyFactory, determineCandidateConstructors, getBeanFactory, getCacheKey, getCustomTargetSource, getEarlyBeanReference, isFrozen, isInfrastructureClass, postProcessAfterInitialization, postProcessBeforeInstantiation, postProcessProperties, predictBeanType, setAdvisorAdapterRegistry, setApplyCommonInterceptorsFirst, setCustomTargetSourceCreators, setFrozen, setInterceptorNames, shouldProxyTargetClass, wrapIfNecessary
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader
copyFrom, isExposeProxy, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setOpaque, setOptimize, setProxyTargetClass, toString
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
postProcessAfterInstantiation, postProcessPropertyValues
postProcessBeforeInitialization
protected ListSE<Advisor> sortAdvisors(ListSE<Advisor> advisors)
Advisor
インスタンスを AspectJ の優先順位に従って並べ替えます。2 つのアドバイスが同じアスペクトからのものである場合、同じ順序になります。同じアスペクトからのアドバイスは、次の規則に従ってさらに並べ替えられます。
重要 : アドバイザは、最高の優先順位から最低の優先順位に並べ替えられます。ジョインポイントへの「途中」では、最高の優先順位のアドバイザーが最初に実行されます。ジョインポイントの「途中」では、最高の優先順位のアドバイザーが最後に実行されます。
AbstractAdvisorAutoProxyCreator
の sortAdvisors
advisors
- アドバイザーのソースリスト Ordered
, Order
, AnnotationAwareOrderComparator
protected void extendAdvisors(ListSE<Advisor> candidateAdvisors)
ExposeInvocationInterceptor
を追加します。この追加のアドバイスは、AspectJ ポイントカット式を使用する場合、および AspectJ スタイルのアドバイスを使用する場合に必要です。
AbstractAdvisorAutoProxyCreator
の extendAdvisors
candidateAdvisors
- 特定の Bean に適用するものとしてすでに識別されているアドバイザ protected boolean shouldSkip(ClassSE<?> beanClass, StringSE beanName)
AbstractAutoProxyCreator
true
を返す必要があります。 時々、これが起こるのを避けることができるようにする必要があります。循環参照につながる場合、または既存のターゲットインスタンスを保持する必要がある場合。この実装は、Bean 名が AutowireCapableBeanFactory
の規則に従って「元のインスタンス」を示さない限り、false
を返します。
AbstractAutoProxyCreator
の shouldSkip
beanClass
- Bean のクラス beanName
- Bean の名前 AutowireCapableBeanFactory.ORIGINAL_INSTANCE_SUFFIX