一个注入类的模块的小例子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);
}
}
...但是必须自己编写构造函数调用有点违背了使用注入框架的目的。有没有更短的方法来完成这个?