logo

IoCコンテナ

  1. IoCコンテナ
  2. BeanFactoryの使用
  3. ApplicationContextの使用

IoC コンテナは、オブジェクトのインスタンス化、構成、およびアセンブルを担当します。 IoC コンテナは XML ファイルから情報を取得し、それに応じて動作します。 IoC コンテナによって実行される主なタスクは次のとおりです。

  • アプリケーションクラスをインスタンス化するには
  • オブジェクトを設定するには
  • オブジェクト間の依存関係を組み立てる

IoC コンテナには 2 つのタイプがあります。彼らです:

    ビーンファクトリー アプリケーションコンテキスト

BeanFactory と ApplicationContext の違い

org.springframework.beans.factory。 ビーンファクトリー そしてorg.springframework.context。 アプリケーションコンテキスト インターフェイスは IoC コンテナとして機能します。 ApplicationContext インターフェースは、BeanFactory インターフェースの上に構築されます。 Spring の AOP との単純な統合、メッセージ リソース処理 (I18N 用)、イベント伝播、Web アプリケーションのアプリケーション層固有のコンテキスト (WebApplicationContext など) など、BeanFactory よりも追加の機能が追加されています。したがって、BeanFactory よりも ApplicationContext を使用する方が良いでしょう。

BeanFactoryの使用

XmlBeanFactory は、BeanFactory インターフェースの実装クラスです。 BeanFactory を使用するには、以下のように XmlBeanFactory クラスのインスタンスを作成する必要があります。

 Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource); 

XmlBeanFactory クラスのコンストラクターは Resource オブジェクトを受け取るため、BeanFactory のオブジェクトを作成するにはリソース オブジェクトを渡す必要があります。


ApplicationContextの使用

ClassPathXmlApplicationContext クラスは、ApplicationContext インターフェイスの実装クラスです。以下に示すように、ApplicationContext を使用するには、ClassPathXmlApplicationContext クラスをインスタンス化する必要があります。

 ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml'); 

ClassPathXmlApplicationContext クラスのコンストラクターは文字列を受け取るため、xml ファイルの名前を渡して ApplicationContext のインスタンスを作成できます。

ApplicationContext を使用するサンプルをダウンロードする