Inversion of Control コンテナ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/20 01:11 UTC 版)
「Spring Framework」の記事における「Inversion of Control コンテナ」の解説
Spring Framework の中核は Inversion of Control コンテナであり、コールバックを使ってJavaオブジェクトのコンフィギュレーションおよび管理の一貫した手段を提供する。このコンテナは BeanFactory、ApplicationContext、Core container などとも呼ばれる。 このコンテナは多くの責務と拡張ポイントを持っており、それらが全て Inversion of Control を形成すると見ることができる(そのため、このように呼ぶ)。例えば、オブジェクト生成、オブジェクトのコンフィギュレーション、初期化メソッド呼び出し、登録されたコールバックオブジェクトにオブジェクトを渡すこと、などである。コンテナの機能の多くがオブジェクトのライフサイクル形成に関わり、それがコンテナの提供する最重要機能の1つとなっている。 このコンテナが生成するオブジェクトを Managed Objects または Beans と呼ぶ。通常、Bean definitions を含むXMLファイルをロードすることでコンテナがコンフィギュレーションを行う。これらファイルにはオブジェクト生成に必要な全ての情報がある。オブジェクトが生成され、コンフィギュレーション時にエラーが発生しなかった場合、利用可能状態になる。 オブジェクトを取得するには、「依存性の参照」または「依存性の注入」を行う。「依存性の参照」とは、呼び出し側がコンテナオブジェクトに対して名前や型を指定してオブジェクトについて問い合わせるパターンである。「依存性の注入」とは、コンテナがコンストラクタまたはプロパティまたは Factory メソッドを使って、他のオブジェクトに名前でオブジェクトを渡すパターンである。 多くの場合、このコンテナを使わずに Spring Framework の他のパーツだけを使うことは可能だが、このコンテナを使うことでアプリケーションのコンフィギュレーションとカスタマイズが容易になる。Spring コンテナは一貫したアプリケーションのコンフィギュレーション機構を提供し、小さなアプリケーションから大きなものまで、ほとんど全ての環境で機能する。 Pitchfork プロジェクトの成果物を使えば、このコンテナを EJB3 コンテナに部分的に準拠させることができる。Spring Framework が標準に準拠していない点を批判する者もいる。しかし、SpringSource は EJB3 準拠を最終目標とは考えておらず、Spring Framework とそのコンテナの方がより強力なプログラミングモデルだと主張している。
※この「Inversion of Control コンテナ」の解説は、「Spring Framework」の解説の一部です。
「Inversion of Control コンテナ」を含む「Spring Framework」の記事については、「Spring Framework」の概要を参照ください。
- Inversion of Control コンテナのページへのリンク