Scala Guice передать параметр - PullRequest
2 голосов
/ 26 апреля 2019

У меня есть следующая привязка Guice:

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

Я хотел бы передать profile в качестве параметра для PostgresClient экземпляра.Посоветуйте, пожалуйста, как этого добиться с помощью Guice и Scala.

1 Ответ

2 голосов
/ 26 апреля 2019

Вы можете работать с @Provides (описано здесь: https://github.com/google/guice/wiki/ProvidesMethods)

И создайте свой DbClient вручную

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

Я не пробовал @Singleton - но остальное мы часто используем.

...