Guice如何将依赖项注入从动态加载的类

时间:2018-05-23 14:31:09

标签: java guice dynamic-class-loaders

我想加载一个依赖于我的应用程序的某些功能的插件。 我可以创建一个入口类的实例。我不能为它注入必要的依赖项。

例如假设我在插件中有类:

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 :(得分:3)

使用injector.injectMembers()

这将调用setter注入