5
使用@Singleton而不@Provides:注射类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);
}
}
...但不必编写构造函数调用自己那种违背了使用注射框架的目的。有没有更简单的方法来完成这个?
啊,我误读了文档 - 我锁定了“作为文档”这个短语,所以我认为@Singleton对于一个类没有任何实际效果,忽略了该部分的第一句。 –
这里对Dagger2有任何更改吗? –