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) 残りを AspectJ の優先順位で並べ替えます。 |
advisorsPreFiltered, findAdvisorsThatCanApply, findCandidateAdvisors, findEligibleAdvisors, getAdvicesAndAdvisorsForBean, initBeanFactory, isEligibleAdvisorBean, setBeanFactory
buildAdvisors, createProxy, customizeProxyFactory, determineCandidateConstructors, getBeanFactory, getCacheKey, getCustomTargetSource, getEarlyBeanReference, isFrozen, isInfrastructureClass, postProcessAfterInitialization, postProcessAfterInstantiation, postProcessBeforeInitialization, 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
postProcessPropertyValues
protected ListSE<Advisor> sortAdvisors(ListSE<Advisor> advisors)
重要 : アドバイザは、最高の優先順位から最低の優先順位に並べ替えられます。ジョインポイントへの「途中」では、最高の優先順位のアドバイザーが最初に実行されます。ジョインポイントの「途中」では、最高の優先順位のアドバイザーが最後に実行されます。
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