public class DefaultAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCreator implements BeanNameAware
BeanFactory
内のすべての候補 Advisor
に基づいて AOP プロキシを作成する BeanPostProcessor
実装。このクラスは完全に汎用です。プールのアスペクトなど、特定のアスペクトを処理するための特別なコードは含まれていません。usePrefix
プロパティを true に設定することで、たとえば同じ型の複数のポストプロセッサーを同じファクトリで使用するなど、アドバイザを除外できます。この場合、DefaultAdvisorAutoProxyCreator の Bean 名で始まり、その後にドット(例 "aapc." )が使用されます。このデフォルトの接頭辞は、advisorBeanNamePrefix
プロパティを設定することにより、Bean 名から変更できます。この場合、セパレータ(.)も使用されます。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | SEPARATOR 接頭辞と Bean 名の残りの部分の間の区切り文字。 |
DO_NOT_PROXY, logger, PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
DefaultAdvisorAutoProxyCreator() |
修飾子と型 | メソッドと説明 |
---|---|
StringSE | getAdvisorBeanNamePrefix() Bean 名のプレフィックスを返します。これにより、このオブジェクトによる自動プロキシに含まれるようになります。 |
protected boolean | isEligibleAdvisorBean(StringSE beanName) アクティブ化されている場合、指定された接頭部を持つ Advisor Bean を適格と見なします。 |
boolean | isUsePrefix() Bean 名に特定のプレフィックスを持つアドバイザーのみを含めるかどうかを返します。 |
void | setAdvisorBeanNamePrefix(StringSE advisorBeanNamePrefix) Bean 名のプレフィックスを設定します。これにより、このオブジェクトによる自動プロキシに含まれるようになります。 |
void | setBeanName(StringSE name) この Bean を作成した Bean ファクトリで Bean の名前を設定します。 |
void | setUsePrefix(boolean usePrefix) Bean 名に特定のプレフィックスを持つアドバイザーのみを含めるかどうかを設定します。 |
advisorsPreFiltered, extendAdvisors, findAdvisorsThatCanApply, findCandidateAdvisors, findEligibleAdvisors, getAdvicesAndAdvisorsForBean, initBeanFactory, setBeanFactory, sortAdvisors
buildAdvisors, createProxy, customizeProxyFactory, determineCandidateConstructors, getBeanFactory, getCacheKey, getCustomTargetSource, getEarlyBeanReference, isFrozen, isInfrastructureClass, postProcessAfterInitialization, postProcessAfterInstantiation, postProcessBeforeInitialization, postProcessBeforeInstantiation, postProcessProperties, predictBeanType, setAdvisorAdapterRegistry, setApplyCommonInterceptorsFirst, setCustomTargetSourceCreators, setFrozen, setInterceptorNames, shouldProxyTargetClass, shouldSkip, 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
public void setUsePrefix(boolean usePrefix)
デフォルトは false
で、型 Advisor
のすべての Bean が含まれます。
public boolean isUsePrefix()
public void setAdvisorBeanNamePrefix(@Nullable StringSE advisorBeanNamePrefix)
advisorBeanNamePrefix
- 除外接頭辞 @Nullable public StringSE getAdvisorBeanNamePrefix()
public void setBeanName(StringSE name)
BeanNameAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init メソッドなどの init コールバックの前に呼び出されます。
BeanNameAware
の setBeanName
name
- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)
メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。protected boolean isEligibleAdvisorBean(StringSE beanName)
Advisor
Bean を適格と見なします。AbstractAdvisorAutoProxyCreator
の isEligibleAdvisorBean
beanName
- アドバイザ Bean の名前 setUsePrefix(boolean)
, setAdvisorBeanNamePrefix(java.lang.String)