Scala Guice传递参数

时间:2019-04-26 08:10:11

标签: scala guice

我具有以下Guice绑定:

val profile = "dev";
bind[DbClient].annotatedWith(Names.named("postgres")).to[PostgresClient].in[Singleton]

我想将profile作为参数传递给PostgresClient实例。请指教  Guice和Scala如何实现它。

1 个答案:

答案 0 :(得分:2)

您可以使用@Provides(此处描述为https://github.com/google/guice/wiki/ProvidesMethods

并手动构建DbClient

  @Provides
  @Singleton
  @Named("postgres")
  def provideDbClient(): DbClient = {
    new PostgresClient("dev")
  }

我还没有尝试过@Singleton-其余的我们都很喜欢。