English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringフレームワークにおけるアプリケーションコンテキストとBeanfactoryの違い

Spring フレームワークは、Beanの管理、設定、操作に使用する 2つの IOC コンテナを提供しています。一个是 BeanFactory、もう一个是アプリケーションコンテキストです。 

アプリケーションコンテキストインターフェースは BeanFactory を拡張して、BeanFactory の機能を強化しています。 

新しいSpringバージョンでは、BeanFactory は ApplicationContext に置き換えられましたが、BeanFactory の存在は後方互換性のために残されています。 

Spring 2.0およびそれ以降のバージョンでは、BeanPostProcessor 拡張ポイント(インターフェースはいくつかのカールバックメソッドを提供しており、これらのメソッドを実現することで、インスタンス化ロジック、依存関係解決ロジックなどにカスタマイズを行うことができます)を使用しています。したがって、BeanFactoryを使用している場合、AOPやトランザクション処理などの一部の機能を使用するには、追加の設定が必要です。

番号キー豆工場アプリケーション環境
1個
実装 
XMLBeanFactory は BeanFactory を実現しています 
FileSystemXmlApplicationContext、ClassPathXmlApplicationContext、AnnotationConfigWebApplicationContex が ApplicationContext を実現しています。 

さらに、ApplicationContext は Beanfactory を拡張しています 
2
アノテーション 
いいえ

3
インスタンス化
getBean() メソッドが呼び出されたときに Benafactory が beans をインスタンス化します。
コンテナが起動したときにアプリケーションインスタントbeanを適用します。
4
アクティビティリリース 
Bean factory は bean にイベントをプッシュする能力がありません 
アプリケーションコンテキストはイベントをbeanにプッシュする能力があります。
5
ロードメカニズム
Lazy loading 
積極的なロード 
おすすめのコンテンツ