質問

私は利用しようとGoogle Guiceを@に注入や@シングルトン特性として

い:

  1. モジュールを空 configure() 方法。
  2. インターフェースIFoo
  3. クラスFoo(実施IFoo)注@シングルトンは、パラメータス-コンストラクタを含@注入.これは、単一のdnaコンストラクタです。

のクラスのコンストラクタおよびインタフェースを公開し、まだいっぱいで、次のエラー:

な実施のためのIFoo結されていました。※

役に立ちましたか?

解決

あなたはこれを行うときにエラーが出るわけ?

IFoo foo = injector.getInstance(IFoo.class);

まあ、それは明らかです。 configure()が空の場合はどのようにIFooための依存関係を満たすためにどのようなクラスを知ってGuiceの必要があります。

ただ、configure()方法でこれを追加し、それが動作するはずです。今、Guiceのは、依存関係を満たすためにどのようなクラスを知っています。

bind(IFoo.class).to(Foo.class);
<時間> あなたはモジュールでこれを設定しない場合は、

あなたはインタフェースに注釈を付けることができます。例えばます。

@ImplementedBy(Foo.class)
public interface IFoo {
  ...
}

@Singleton注釈のみ毎回クラスの要求が代わりに毎回新しいインスタンスを作成するInjector.getInstance()を介して形成されているクラス(シングルトンパターン)のための同じインスタンスを返すようにGuiceのに伝えます。しかし、これはクラスローダごとではなく、その後インジェクタあたりだけシングルトンであることに注意します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top