クラスを注入するモジュールの小さな例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);
}
}
...しかし、そのコンストラクター呼び出しを自分で書かなければならないことは、注入フレームワークを使用する目的を無効にします。これを達成するためのより短い方法はありますか?