English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 | 積極的なロード |