public class AnnotationAwareAspectJAutoProxyCreator extends AspectJAwareAdvisorAutoProxyCreator
AspectJAwareAdvisorAutoProxyCreator サブクラス。AspectJ アノテーション付きクラスはすべて自動的に認識され、Spring AOP のプロキシベースのモデルがそれを適用できる場合、それらのアドバイスが適用されます。これには、メソッド実行のジョインポイントが含まれます。
<aop:include> 要素が使用されている場合、include パターンと一致する名前を持つ @AspectJ Bean のみが、Spring 自動プロキシに使用するアスペクトを定義するものと見なされます。
Spring Advisors の処理は、AbstractAdvisorAutoProxyCreator で確立されたルールに従います。
AspectJAdvisorFactory, 連載形式 DO_NOT_PROXY, logger, PROXY_WITHOUT_ADDITIONAL_INTERCEPTORSHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| コンストラクターと説明 |
|---|
AnnotationAwareAspectJAutoProxyCreator() |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected ListSE<Advisor> | findCandidateAdvisors() 自動プロキシで使用するすべての候補アドバイザーを見つけます。 |
protected void | initBeanFactory(ConfigurableListableBeanFactory beanFactory) |
protected boolean | isEligibleAspectBean(StringSE beanName) 指定されたアスペクト Bean が自動プロキシに適しているかどうかを確認します。 |
protected boolean | isInfrastructureClass(ClassSE<?> beanClass) 指定された Bean クラスが、決してプロキシされるべきではないインフラストラクチャクラスを表すかどうかを返します。 |
void | setAspectJAdvisorFactory(AspectJAdvisorFactory aspectJAdvisorFactory) |
void | setIncludePatterns(ListSE<StringSE> patterns) 適格な @AspectJ Bean 名に一致する正規表現パターンのリストを設定します。 |
extendAdvisors, shouldSkip, sortAdvisorsadvisorsPreFiltered, findAdvisorsThatCanApply, findEligibleAdvisors, getAdvicesAndAdvisorsForBean, isEligibleAdvisorBean, setBeanFactorybuildAdvisors, createProxy, customizeProxyFactory, determineCandidateConstructors, getBeanFactory, getCacheKey, getCustomTargetSource, getEarlyBeanReference, isFrozen, postProcessAfterInitialization, postProcessBeforeInstantiation, postProcessProperties, predictBeanType, setAdvisorAdapterRegistry, setApplyCommonInterceptorsFirst, setCustomTargetSourceCreators, setFrozen, setInterceptorNames, shouldProxyTargetClass, wrapIfNecessaryevaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoadercopyFrom, isExposeProxy, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setOpaque, setOptimize, setProxyTargetClass, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpostProcessAfterInstantiation, postProcessPropertyValuespostProcessBeforeInitializationpublic void setIncludePatterns(ListSE<StringSE> patterns)
デフォルトでは、すべての @AspectJ Bean が適格であると見なされます。
public void setAspectJAdvisorFactory(AspectJAdvisorFactory aspectJAdvisorFactory)
protected void initBeanFactory(ConfigurableListableBeanFactory beanFactory)
AbstractAdvisorAutoProxyCreator の initBeanFactory protected ListSE<Advisor> findCandidateAdvisors()
AbstractAdvisorAutoProxyCreatorAbstractAdvisorAutoProxyCreator の findCandidateAdvisors protected boolean isInfrastructureClass(ClassSE<?> beanClass)
AbstractAutoProxyCreatorデフォルトの実装では、アドバイス、アドバイザ、AopInfrastructureBeans をインフラストラクチャクラスと見なします。
AbstractAutoProxyCreator の isInfrastructureClass beanClass - Bean のクラス Advice, Advisor, AopInfrastructureBean, AbstractAutoProxyCreator.shouldSkip(java.lang.Class<?>, java.lang.String)protected boolean isEligibleAspectBean(StringSE beanName)
<aop:include> 要素が使用されなかった場合、"includePatterns" は null になり、すべての Bean が含まれます。"includePatterns" が null 以外の場合、パターンの 1 つが一致する必要があります。