注入类的模块的一个小例子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); } }
...但是我必须自己编写构造函数调用,这会破坏使用注入框架的目的.有没有更短的方法来实现这一目标?