バインディング
インジェクタの仕事は、オブジェクトのグラフを構築することである。 あなたが、型を指定してそのインスタンスを要求すると、インジェクタはビルドすべきものを調べ、依存性解決をし、すべてをワイアリングする。 インジェクタにバインディング指定することにより、依存性解決の方法を指示する。
バインディングの作成
バインディングを作成するには、AbstractModuleを拡張しそのconfigureメソッドをオーバライドすればよい。 メソッドボディにてbind()を使い、各バインディングを指定する。 これらのメソッドはタイプチェックされているので、型が誤っているときはエラーが報告される。 モジュールを作成したら、Guice.createInjector()の引数として渡せばよい。
リンクバインディング、 インスタンスバインディング、 @Providesメソッド、 プロバイダバインディング、 アンターゲットバインディングを作成するには、モジュールを使う。
さらなるバインディング
インジェクタに明示的に指示するバインディングのほかに、ビルトインバインディングがある。 また、依存(オブジェクト)が要求されたにも関わらず見つからない場合は、その場バインディングが試される。 さらにインジェクタは、他のバインディングに対してそのプロバイダを保持する。