@FunctionalInterfaceSE public interface BeanFactoryPostProcessor
アプリケーションコンテキストで構成された Bean プロパティをオーバーライドするシステム管理者向けのカスタム構成ファイルに役立ちます。このような構成のニーズに対応する、すぐに使用できるソリューションについては、PropertyResourceConfigurer
とその具体的な実装を参照してください。
BeanFactoryPostProcessor
は、Bean 定義と対話して変更することができますが、Bean インスタンスを変更することはできません。これを行うと、Bean のインスタンス化が早まり、コンテナーに違反し、意図しない副作用が発生する可能性があります。Bean インスタンスの相互作用が必要な場合は、代わりに BeanPostProcessor
の実装を検討してください。
ApplicationContext
は、Bean 定義内の BeanFactoryPostProcessor
Bean を自動検出し、他の Bean が作成される前に適用します。BeanFactoryPostProcessor
は、ConfigurableApplicationContext
を使用してプログラムで登録することもできます。
ApplicationContext
で自動検出される BeanFactoryPostProcessor
Bean は、PriorityOrdered
および Ordered
セマンティクスに従って順序付けられます。対照的に、ConfigurableApplicationContext
を使用してプログラムで登録された BeanFactoryPostProcessor
Bean は、登録順に適用されます。PriorityOrdered
または Ordered
インターフェースの実装を通じて表される順序付けのセマンティクスは、プログラムで登録されたポストプロセッサーでは無視されます。さらに、@Order
アノテーションは BeanFactoryPostProcessor
Bean については考慮されません。
BeanPostProcessor
, PropertyResourceConfigurer
修飾子と型 | メソッドと説明 |
---|---|
void | postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。 |
void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
beanFactory
- アプリケーションコンテキストで使用される Bean ファクトリ BeansException
- エラーの場合