Guice Как внедрить зависимости в объект, созданный из динамически загруженного класса - PullRequest
0 голосов
/ 23 мая 2018

Я хочу загрузить плагин, который зависит от некоторых функций моего приложения.Я могу создать экземпляр класса записи.Но я не могу внедрить необходимые зависимости к нему.

Например, давайте предположим, что у меня в плагине есть класс:

class ThirdPartyService implements Service {
  //no argument constructor and overridden methods

  //Inject database config which is known by application to the service:
  @Inject
  void setDatabaseConfig(DatabaseConfig dbConfig) {
    this.dbConfig = dbConfig;
  }
}

Модули guice в приложении не знают ThirdParyService.Потому что это динамически загружаемый класс.Поэтому я не могу связать Service с этим классом.Есть ли способ внедрить DatabaseConfig в ThirdParyService экземпляр?

Примечание: я не хочу загружать плагины в начале приложения.Вместо этого я хочу загружать плагины во время выполнения.

1 Ответ

0 голосов
/ 24 мая 2018

Использовать injector.injectMembers ()

Это вызовет инъекцию сеттера

...