インターフェース BeanFactoryPostProcessor
- すべての既知のサブインターフェース:
BeanDefinitionRegistryPostProcessor
- すべての既知の実装クラス:
AspectJWeavingEnabler
、ConfigurationClassPostProcessor
、CustomAutowireConfigurer
、CustomEditorConfigurer
、CustomScopeConfigurer
、DeprecatedBeanWarner
、EventListenerMethodProcessor
、PlaceholderConfigurerSupport
、PreferencesPlaceholderConfigurer
、PropertyOverrideConfigurer
、PropertyPlaceholderConfigurer
、PropertyResourceConfigurer
、PropertySourcesPlaceholderConfigurer
- 関数インターフェース:
- これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。
アプリケーションコンテキストで構成された 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 については考慮されません。
- 導入:
- 06.07.2003
- 作成者:
- Juergen Hoeller, Sam Brannen
- 関連事項:
方法の概要
修飾子と型メソッド説明void
postProcessBeanFactory
(ConfigurableListableBeanFactory beanFactory) 標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。
メソッドの詳細
postProcessBeanFactory
標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。すべての Bean 定義はロードされますが、Bean はまだインスタンス化されていません。これにより、先行初期化する Bean に対してもプロパティをオーバーライドまたは追加できます。- パラメーター:
beanFactory
- アプリケーションコンテキストで使用される Bean ファクトリ- 例外:
BeansException
- エラーの場合