我想加载一个依赖于我的应用程序的某些功能的插件。 我可以创建一个入口类的实例。我不能为它注入必要的依赖项。
例如假设我在插件中有类:
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
实例?
注意:我不想在应用程序开头加载插件。相反,我想在运行时加载插件。
答案 0 :(得分:3)
使用injector.injectMembers()
这将调用setter注入