クラスを注入するモジュールの小さな例Foo:
@Module(complete = false, injects = { Foo.class })
class MyModule { }
class Foo {
@Inject
Foo(Bar bar, Baz baz) { }
}
( とが別のモジュールによって提供されているBarと仮定)Baz
私は今Foo、シングルトンになりたいです。
メソッドを追加して、@Providesそれに注釈を付けることができ@Singletonます...
@Module(complete = false, injects = { Foo.class })
class MyModule {
@Provides @Singleton Foo provideFoo(Bar bar, Baz baz) {
return new Foo(bar, baz);
}
}
...しかし、そのコンストラクター呼び出しを自分で書かなければならないことは、注入フレームワークを使用する目的を無効にします。これを達成するためのより短い方法はありますか?