public interface BeanPostProcessor
ApplicationContexts は、Bean 定義内の BeanPostProcessor Bean を自動検出し、その後作成されるすべての Bean に適用できます。プレーンな Bean ファクトリでは、このファクトリで作成されたすべての Bean に適用して、ポストプロセッサーをプログラムで登録できます。
通常、マーカーインターフェースなどを介して Bean を生成するポストプロセッサーは postProcessBeforeInitialization(java.lang.Object, java.lang.String)
を実装しますが、プロキシで Bean をラップするポストプロセッサーは通常 postProcessAfterInitialization(java.lang.Object, java.lang.String)
を実装します。
修飾子と型 | メソッドと説明 |
---|---|
default java.lang.Object | postProcessAfterInitialization(java.lang.Object bean, java.lang.String beanName) Bean 初期化コールバック(InitializingBean の afterPropertiesSet またはカスタム init メソッドなど)の後に、指定された新しい Bean インスタンスにこの BeanPostProcessor を適用します。 |
default java.lang.Object | postProcessBeforeInitialization(java.lang.Object bean, java.lang.String beanName) Bean 初期化コールバック(InitializingBean の afterPropertiesSet またはカスタム init メソッドなど)の前に、この BeanPostProcessor を指定された新しい Bean インスタンスに適用します。 |
@Nullable default java.lang.Object postProcessBeforeInitialization(java.lang.Object bean, java.lang.String beanName) throws BeansException
afterPropertiesSet
またはカスタム init メソッドなど)の前に、この BeanPostProcessor を指定された新しい Bean インスタンスに適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。 デフォルトの実装は、指定された bean
をそのまま返します。
bean
- 新しい Bean インスタンス beanName
- Bean の名前 null
の場合、後続の BeanPostProcessors は呼び出されません BeansException
- エラーの場合 InitializingBean.afterPropertiesSet()
@Nullable default java.lang.Object postProcessAfterInitialization(java.lang.Object bean, java.lang.String beanName) throws BeansException
afterPropertiesSet
またはカスタム init メソッドなど)の後に、指定された新しい Bean インスタンスにこの BeanPostProcessor を適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。FactoryBean の場合、このコールバックは、FactoryBean インスタンスと、FactoryBean によって作成されたオブジェクト(Spring 2.0 以降)の両方に対して呼び出されます。ポストプロセッサーは、対応する bean instanceof FactoryBean
チェックを介して、FactoryBean または作成されたオブジェクトのいずれか、あるいはその両方に適用するかどうかを決定できます。
このコールバックは、他のすべての BeanPostProcessor コールバックとは対照的に、InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String)
メソッドによってトリガーされた短絡後にも呼び出されます。
デフォルトの実装は、指定された bean
をそのまま返します。
bean
- 新しい Bean インスタンス beanName
- Bean の名前 null
の場合、後続の BeanPostProcessors は呼び出されません BeansException
- エラーの場合 InitializingBean.afterPropertiesSet()
, FactoryBean