クラス AbstractAdvisingBeanPostProcessor
- 実装されたすべてのインターフェース:
SerializableSE
、AopInfrastructureBean
、Aware
、BeanClassLoaderAware
、BeanPostProcessor
、InstantiationAwareBeanPostProcessor
、SmartInstantiationAwareBeanPostProcessor
、Ordered
- 導入:
- 3.2
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明protected void
customizeProxyFactory
(ProxyFactory proxyFactory) サブクラスは、これを実装することを選択できます。たとえば、公開されているインターフェースを変更するためです。ClassSE<?>
determineBeanType
(ClassSE<?> beanClass, StringSE beanName) このプロセッサーのInstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String)
コールバックから最終的に返される Bean の型を決定します。protected boolean
isEligible
(ClassSE<?> targetClass) 指定されたクラスが、このポストプロセッサーのAdvisor
でアドバイスする資格があるかどうかを確認します。protected boolean
isEligible
(ObjectSE bean, StringSE beanName) 指定された Bean が、このポストプロセッサーのAdvisor
でアドバイスする資格があるかどうかを確認します。postProcessAfterInitialization
(ObjectSE bean, StringSE beanName) Bean 初期化コールバック(InitializingBean のafterPropertiesSet
またはカスタム init メソッドなど)の後に、このBeanPostProcessor
を新しい Bean インスタンスに適用します。protected ProxyFactory
prepareProxyFactory
(ObjectSE bean, StringSE beanName) 指定された Bean のProxyFactory
を準備します。void
setBeforeExistingAdvisors
(boolean beforeExistingAdvisors) 事前にアドバイスされたオブジェクトに遭遇したときに、このポストプロセッサーのアドバイザーが既存のアドバイザーの前に適用されることになっているかどうかを設定します。クラス org.springframework.aop.framework.ProxyProcessorSupport から継承されたメソッド
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader
クラス org.springframework.aop.framework.ProxyConfig から継承されたメソッド
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.config.BeanPostProcessor から継承されたメソッド
postProcessBeforeInitialization
インターフェース org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor から継承されたメソッド
postProcessAfterInstantiation, postProcessBeforeInstantiation, postProcessProperties
インターフェース org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor から継承されたメソッド
determineCandidateConstructors, getEarlyBeanReference, predictBeanType
フィールドの詳細
advisor
beforeExistingAdvisors
protected boolean beforeExistingAdvisors
コンストラクターの詳細
AbstractAdvisingBeanPostProcessor
public AbstractAdvisingBeanPostProcessor()
メソッドの詳細
setBeforeExistingAdvisors
public void setBeforeExistingAdvisors(boolean beforeExistingAdvisors) 事前にアドバイスされたオブジェクトに遭遇したときに、このポストプロセッサーのアドバイザーが既存のアドバイザーの前に適用されることになっているかどうかを設定します。デフォルトは "false" で、既存のアドバイザーの後に、つまりターゲットメソッドに可能な限り近いところにアドバイザーを適用します。このポストプロセッサーのアドバイザーが既存のアドバイザーもラップするようにするには、これを "true" に切り替えます。
メモ: 具体的なポストプロセッサーの javadoc をチェックして、アドバイザーの性質に応じて、デフォルトでこのフラグが変更されるかどうかを確認します。
determineBeanType
インターフェースからコピーされた説明:SmartInstantiationAwareBeanPostProcessor
このプロセッサーのInstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String)
コールバックから最終的に返される Bean の型を決定します。デフォルトの実装は、指定された Bean クラスをそのまま返します。特定の実装では、事前に潜在的なプロキシクラスを作成 / 初期化するために、処理手順を完全に評価する必要があります。
- 次で指定:
- インターフェース
SmartInstantiationAwareBeanPostProcessor
のdetermineBeanType
- パラメーター:
beanClass
- Bean の生のクラスbeanName
- Bean の名前- 戻り値:
- Bean の型 (非
null
)
postProcessAfterInitialization
インターフェースからコピーされた説明:BeanPostProcessor
Bean 初期化コールバック(InitializingBean のafterPropertiesSet
またはカスタム init メソッドなど)の後に、このBeanPostProcessor
を新しい Bean インスタンスに適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。FactoryBean の場合、このコールバックは、FactoryBean インスタンスと、FactoryBean によって作成されたオブジェクト(Spring 2.0 以降)の両方に対して呼び出されます。ポストプロセッサーは、対応する
bean instanceof FactoryBean
チェックを介して、FactoryBean または作成されたオブジェクトのいずれか、あるいはその両方に適用するかどうかを決定できます。このコールバックは、他のすべての
BeanPostProcessor
コールバックとは異なり、InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String)
メソッドによってトリガーされた短絡後にも呼び出されます。デフォルトの実装は、指定された
bean
をそのまま返します。- 次で指定:
- インターフェース
BeanPostProcessor
のpostProcessAfterInitialization
- パラメーター:
bean
- 新しい Bean インスタンスbeanName
- Bean の名前- 戻り値:
- 使用する Bean インスタンス。元のインスタンスまたはラップされたインスタンス。
null
の場合、後続の BeanPostProcessors は呼び出されません - 関連事項:
isEligible
指定された Bean が、このポストプロセッサーのAdvisor
でアドバイスする資格があるかどうかを確認します。ターゲットクラスチェックのための
isEligible(Class)
へのデリゲート。オーバーライドできます。特定の Bean を名前で明確に除外します。メモ: 通常の Bean インスタンスに対してのみ呼び出されますが、
Advised
を実装し、ローカルAdvisor
を既存のプロキシのAdvisor
チェーンに追加できる既存のプロキシインスタンスに対しては呼び出されません。後者の場合、isEligible(Class)
は直接呼び出され、実際のターゲットクラスは既存のプロキシの背後にあります(AopUtils.getTargetClass(Object)
によって決定されます)。- パラメーター:
bean
- Bean インスタンスbeanName
- Bean の名前- 関連事項:
isEligible
指定されたクラスが、このポストプロセッサーのAdvisor
でアドバイスする資格があるかどうかを確認します。Bean ターゲットクラスごとに
canApply
結果のキャッシュを実装します。- パラメーター:
targetClass
- チェックするクラス- 関連事項:
prepareProxyFactory
指定された Bean のProxyFactory
を準備します。サブクラスは、ターゲットインスタンスの処理、特にターゲットクラスの公開をカスタマイズできます。非ターゲットクラスのプロキシと構成済みのアドバイザーのインターフェースのデフォルトのイントロスペクションは後で適用されます。
customizeProxyFactory(org.springframework.aop.framework.ProxyFactory)
では、プロキシを作成する直前に、これらのパーツを後でカスタマイズすることができます。- パラメーター:
bean
- プロキシを作成する Bean インスタンスbeanName
- 対応する Bean 名- 戻り値:
- このプロセッサーの
ProxyConfig
設定と指定された Bean で初期化された ProxyFactory - 導入:
- 4.2.3
- 関連事項:
customizeProxyFactory
サブクラスは、これを実装することを選択できます。たとえば、公開されているインターフェースを変更するためです。デフォルトの実装は空です。
- パラメーター:
proxyFactory
- ターゲット、アドバイザー、インターフェースですでに構成されており、このメソッドが戻った直後にプロキシを作成するために使用される ProxyFactory- 導入:
- 4.2.3
- 関連事項: