public abstract class AbstractBeanFactoryAwareAdvisingPostProcessor extends AbstractAdvisingBeanPostProcessor implements BeanFactoryAware
BeanFactoryAware
を実装し、プロキシ化された各 Bean(AutoProxyUtils.ORIGINAL_TARGET_CLASS_ATTRIBUTE
)の元のターゲットクラスのエクスポーズを追加し、任意の特定の Bean(AutoProxyUtils.PRESERVE_TARGET_CLASS_ATTRIBUTE
)の外部強制ターゲットクラスモードに参加する AbstractAutoProxyCreator
の拡張。このポストプロセッサーは AbstractAutoProxyCreator
と連携しています。AutoProxyUtils.shouldProxyTargetClass(org.springframework.beans.factory.config.ConfigurableListableBeanFactory, java.lang.String)
, AutoProxyUtils.determineTargetClass(org.springframework.beans.factory.config.ConfigurableListableBeanFactory, java.lang.String)
, 直列化された形式 advisor, beforeExistingAdvisors
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
AbstractBeanFactoryAwareAdvisingPostProcessor() |
修飾子と型 | メソッドと説明 |
---|---|
protected boolean | isEligible(java.lang.Object bean, java.lang.String beanName) 指定された Bean が、このポストプロセッサーの Advisor でアドバイスする資格があるかどうかを確認します。 |
protected ProxyFactory | prepareProxyFactory(java.lang.Object bean, java.lang.String beanName) 指定された Bean の ProxyFactory を準備します。 |
void | setBeanFactory(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。 |
customizeProxyFactory, isEligible, postProcessAfterInitialization, postProcessBeforeInitialization, setBeforeExistingAdvisors
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toString
public AbstractBeanFactoryAwareAdvisingPostProcessor()
public void setBeanFactory(BeanFactory beanFactory)
BeanFactoryAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanFactoryAware
の setBeanFactory
beanFactory
- 所有 BeanFactory(非 null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。BeanInitializationException
protected ProxyFactory prepareProxyFactory(java.lang.Object bean, java.lang.String beanName)
AbstractAdvisingBeanPostProcessor
ProxyFactory
を準備します。 サブクラスは、ターゲットインスタンスの処理、特にターゲットクラスの公開をカスタマイズできます。非ターゲットクラスのプロキシと構成済みのアドバイザーのインターフェースのデフォルトのイントロスペクションは後で適用されます。AbstractAdvisingBeanPostProcessor.customizeProxyFactory(org.springframework.aop.framework.ProxyFactory)
では、プロキシを作成する直前に、これらのパーツを後でカスタマイズすることができます。
AbstractAdvisingBeanPostProcessor
の prepareProxyFactory
bean
- プロキシを作成する Bean インスタンス beanName
- 対応する Bean 名 ProxyConfig
設定と指定された Bean で初期化された ProxyFactoryAbstractAdvisingBeanPostProcessor.customizeProxyFactory(org.springframework.aop.framework.ProxyFactory)
protected boolean isEligible(java.lang.Object bean, java.lang.String beanName)
AbstractAdvisingBeanPostProcessor
Advisor
でアドバイスする資格があるかどうかを確認します。 ターゲットクラスチェックのための AbstractAdvisingBeanPostProcessor.isEligible(Class)
へのデリゲート。オーバーライドできます。特定の Bean を名前で明確に除外します。
メモ: 通常の Bean インスタンスに対してのみ呼び出されますが、Advised
を実装し、ローカル Advisor
を既存のプロキシの Advisor
チェーンに追加できる既存のプロキシインスタンスに対しては呼び出されません。後者の場合、AbstractAdvisingBeanPostProcessor.isEligible(Class)
は直接呼び出され、実際のターゲットクラスは既存のプロキシの背後にあります(AopUtils.getTargetClass(Object)
によって決定されます)。
AbstractAdvisingBeanPostProcessor
の isEligible
bean
- Bean インスタンス beanName
- Bean の名前 AbstractAdvisingBeanPostProcessor.isEligible(Class)