Guice:获取内部依赖提供方法

时间:2017-05-24 06:06:54

标签: scala guice

我正在写一个Guice模块,在那个模块中我有一个提供方法。

class FooModule extends ScalaModule {
    @Provides
    @Singleton
    def providesFoo() : Foo = {
        new Foo()
    }
}

问题是new Foo的构造函数将Type Bar作为参数。

我想知道如何让guice给我一个Bar实例,以便我可以在模块中对Foo做一个新的

1 个答案:

答案 0 :(得分:1)

通过将这些参数指定为方法参数来请求它们。来自Provides method wiki documentation

  

依赖关系可以作为参数传递给方法。在调用方法之前,进样器将为每个进行绑定。

所以:

@Provides
@Singleton
def providesFoo(val bar : Bar) : Foo = {
    new Foo(bar)
}