我正在写一个Guice模块,在那个模块中我有一个提供方法。
class FooModule extends ScalaModule {
@Provides
@Singleton
def providesFoo() : Foo = {
new Foo()
}
}
问题是new Foo
的构造函数将Type Bar作为参数。
我想知道如何让guice给我一个Bar实例,以便我可以在模块中对Foo做一个新的
答案 0 :(得分:1)
通过将这些参数指定为方法参数来请求它们。来自Provides method wiki documentation:
依赖关系可以作为参数传递给方法。在调用方法之前,进样器将为每个进行绑定。
所以:
@Provides
@Singleton
def providesFoo(val bar : Bar) : Foo = {
new Foo(bar)
}