インターフェース BeanPostProcessor
- すべての既知のサブインターフェース:
- DestructionAwareBeanPostProcessor、- InstantiationAwareBeanPostProcessor、- MergedBeanDefinitionPostProcessor、- SmartInstantiationAwareBeanPostProcessor
- すべての既知の実装クラス:
- AbstractAdvisingBeanPostProcessor、- AbstractAdvisorAutoProxyCreator、- AbstractAutoProxyCreator、- AbstractBeanFactoryAwareAdvisingPostProcessor、- AdvisorAdapterRegistrationManager、- AnnotationAwareAspectJAutoProxyCreator、- AspectJAwareAdvisorAutoProxyCreator、- AsyncAnnotationBeanPostProcessor、- AutowiredAnnotationBeanPostProcessor、- BeanNameAutoProxyCreator、- BeanValidationPostProcessor、- CommonAnnotationBeanPostProcessor、- DefaultAdvisorAutoProxyCreator、- ImportAwareAotBeanPostProcessor、- InfrastructureAdvisorAutoProxyCreator、- InitDestroyAnnotationBeanPostProcessor、- JmsListenerAnnotationBeanPostProcessor、- LoadTimeWeaverAwareProcessor、- MethodValidationPostProcessor、- PersistenceAnnotationBeanPostProcessor、- PersistenceExceptionTranslationPostProcessor、- ScheduledAnnotationBeanPostProcessor、- ScriptFactoryPostProcessor、- ServletContextAwareProcessor、- SimpleServletPostProcessor
 通常、マーカーインターフェースなどを介して Bean を生成するポストプロセッサーは postProcessBeforeInitialization(java.lang.Object, java.lang.String) を実装しますが、プロキシで Bean をラップするポストプロセッサーは通常 postProcessAfterInitialization(java.lang.Object, java.lang.String) を実装します。
登録
ApplicationContext は、Bean 定義内の BeanPostProcessor Bean を自動検出し、それらのポストプロセッサーをその後作成される Bean に適用できます。プレーンな BeanFactory を使用すると、ポストプロセッサーをプログラムで登録し、Bean ファクトリで作成されたすべての Bean にポストプロセッサーを適用できます。
配列
 ApplicationContext で自動検出される BeanPostProcessor Bean は、PriorityOrdered および Ordered セマンティクスに従って順序付けられます。対照的に、BeanFactory を使用してプログラムで登録された BeanPostProcessor Bean は、登録順に適用されます。PriorityOrdered または Ordered インターフェースの実装を通じて表される順序付けのセマンティクスは、プログラムで登録されたポストプロセッサーでは無視されます。さらに、@Order アノテーションは BeanPostProcessor Bean については考慮されません。
- 導入:
- 10.10.2003
- 作成者:
- Juergen Hoeller, Sam Brannen
- 関連事項:
- メソッドのサマリー修飾子と型メソッド説明- default ObjectSE- postProcessAfterInitialization- (ObjectSE bean, StringSE beanName) Bean 初期化コールバック(InitializingBean の- afterPropertiesSetまたはカスタム init メソッドなど)の後に、この- BeanPostProcessorを新しい Bean インスタンスに適用します。- default ObjectSE- postProcessBeforeInitialization- (ObjectSE bean, StringSE beanName) Bean 初期化コールバック(InitializingBean の- afterPropertiesSetまたはカスタム init メソッドなど)の前に、この- BeanPostProcessorを指定された新しい Bean インスタンスに適用します。
- メソッドの詳細- postProcessBeforeInitialization@Nullable default ObjectSE postProcessBeforeInitialization- (ObjectSE bean, StringSE beanName) throws BeansException Bean 初期化コールバック(InitializingBean の- afterPropertiesSetまたはカスタム init メソッドなど)の前に、この- BeanPostProcessorを指定された新しい Bean インスタンスに適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。- デフォルトの実装は、指定された - beanをそのまま返します。- パラメーター:
- bean- 新しい Bean インスタンス
- beanName- Bean の名前
- 戻り値:
-  使用する Bean インスタンス。元のインスタンスまたはラップされたインスタンス。nullの場合、後続の BeanPostProcessors は呼び出されません
- 例外:
- BeansException- エラーの場合
- 関連事項:
 
- postProcessAfterInitialization@Nullable default ObjectSE postProcessAfterInitialization- (ObjectSE bean, StringSE beanName) throws BeansException 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をそのまま返します。- パラメーター:
- bean- 新しい Bean インスタンス
- beanName- Bean の名前
- 戻り値:
-  使用する Bean インスタンス。元のインスタンスまたはラップされたインスタンス。nullの場合、後続の BeanPostProcessors は呼び出されません
- 例外:
- BeansException- エラーの場合
- 関連事項: