我具有以下Guice绑定:
val profile = "dev";
bind[DbClient].annotatedWith(Names.named("postgres")).to[PostgresClient].in[Singleton]
我想将profile
作为参数传递给PostgresClient
实例。请指教
Guice和Scala如何实现它。
答案 0 :(得分:2)
您可以使用@Provides
(此处描述为https://github.com/google/guice/wiki/ProvidesMethods)
并手动构建DbClient
@Provides
@Singleton
@Named("postgres")
def provideDbClient(): DbClient = {
new PostgresClient("dev")
}
我还没有尝试过@Singleton
-其余的我们都很喜欢。