によって作成オブジェクトは、クラスParser
の(派生クラスの)オブジェクト(x
とy
それらを呼び出す)の両方を作成するためにcreate_x()
とcreate_y()
私は2つの類似(しかし異なる)メソッド(または多分静的メソッド)を持っていると仮定します。Guiceの:方法
bind(Parser.class)
.annotatedWith(Names.named("x"))
.to(ParserXImplementation.class);
bind(Parser.class)
.annotatedWith(Names.named("y"))
.to(ParserYImplementation.class);
が、クラスParserXImplementation
、ParserYImplementation
のcreate_x()
、create_y()
代わりのインスタンスによって作成されたオブジェクトを持つ:
今、私はanswer to my previous questionのようにのように、これらの2つの方法で作成されたオブジェクトをバインドします。 (したがって、クラスを作成する必要はありません。ParserXImplementation
、ParserYImplementation
)
オブジェクトをシングルトンにします。
,create_y()
が静的メソッドである場合と、インスタンスメソッドである場合の両方の回答が必要です。それらがインスタンスメソッドである場合、それらを含むクラス自体が依存関係注入の対象となる可能性があります。
これを行う方法? https://github.com/google/guice/wiki/ProvidesMethodsから