2012年04月26日 / Spring Framework
【Spring Framework 】DI(依存性の注入)
これから、Springというフレームワークを利用しようと考えている人は、「DI」という言葉を聞くことになるではないでしょうか。
まず、DIとは「Dependency Injection」の略称で、「依存性の注入」という意味になります。
DIという言葉を初めて聞く人にとってはサッパリだと思います。
ここでいう「依存性の注入」とは、「依存しているオブジェクトをプログラムの実行時に、外部から注入する」ということです。
Javaに限らずプログラムの経験がある人ならば、以下のような思いをされたことがあるのではないでしょうか?
- 機能拡張(追加/削除など)したいが容易ではない。
そういった場合に、この機能を活用することで簡単に行うことができます。
その結果、作業の効率化/工数短縮を図ることができます。
実際には、外部の設定ファイルにオブジェクト定義を設定すれば、「DIコンテナ」がインスタンスの注入をしてくれるため、機能拡張をしたい場合でも、比較的簡単に行うことができます。
また、テストを行う際もモックオブジェクトを作成して、設定ファイルを書き換えることで、実施したいテストを容易に行うことができます。
しかし、気を付けなければいけない点もあります。
まず、インターフェイスを理解し、正しい設計をしないと折角の利点がなくなってしまいます。
依存するオブジェクトなどの設定を外部の設定ファイルに定義するため、コンパイルエラーが発生しません。
そのため、実際にプログラムを実行した際に初めてミスに気づくということもあります。
いろいろ述べましたが、実際にさわってみるのが一番です。
はじめると意外と簡単にできてしまうかもしれませんよ。