DIを利用したプログラムを作成する場合、コンポーネント間の関係はインタフェースを用いて記述し、具体的なコンポーネントを指定しない。具体的にどのコンポーネントを利用するかは別のコンポーネントや外部ファイル等を利用することで、コンポーネント間の依存関係を薄くすることができる。
依存関係がプログラムから外部に取り除かれることで、以下のようなメリットが発生する。
DIの種類.
プログラムに依存性を注入する方法としては、以下のような手法が存在する。
例.
DIの例として、以下にJavaによるDIを用いない場合と手動でのDI、ならびにDIコンテナをイメージした自動でのDIのサンプルコードを示す。
初めに、一連のサンプルで用いる各コンポーネントのインタフェースを、株式売買を例題にして示す。
DIを用いない状態.
以下はDIを用いない場合の実装例である。
 …. // omitted
手動でのDI.
上記のコードを、手動でDIを行うようにリファクタリングすると下記のようになる。
自動的なDI.
DIコンテナを用いることで、依存性の注入をコード上に直接記述せず、自動的に行うことが可能である。こうした手法を用いる場合、依存性は外部のXMLファイルやメタデータにて定義する。上記のコードを、XMLを用いるDIコンテナを使用するようリファクタリングした例が下記である。
 … // omitted
DIコンテナには数多くの種類があり、上で示した例はそのごく一部でしかない。実際にはDIコンテナごとに様々な手法が用いられている。
DIを用いた単体テスト.
 // このテストでは使用しない
 // このテスト専用の依存性を指定するため、DIコンテナに直接登録している
HTML.
 super();
DIコンテナ.
DIの機能を提供するフレームワークはDIコンテナと呼ばれる。 主なDIコンテナとしては、下記のようなものが存在する。
Java
.NET
PHP
IBM形式フロッピー
IBMフォーマット
日本企業情報
日本企業情報株式会社（にほんきぎょうじょうほう）は、日本のサービス業。
学校法人啓明学園
学校法人啓明学園（がっこうほうじんけいめいがくえん）は東京都昭島市に本部を置く学校法人。キリスト教主義・プロテスタント自由主義神学。
概要.