Я использую Guice в игровой среде. Я загружаю зависимости через конфигурацию для каждого контроллера. У меня есть два контроллера ControllerA и COntrollerB. Мне нужно использовать экземпляр ControllerA в controllerB
class ResourceADependencyModule extends AbstractModule {
//bindings goes here
}
class ResourceBDependencyModule extends AbstractModule {
//bindings goes here
}
в application.conf
play.modules.enabled += "models.guice.ResourceADependencyModule"
play.modules.enabled += "models.guice.ResourceBDependencyModule"
вот код
class ControllerA @inject(resourcesA:ResourceA) extends Contoller {
}
class COntrollerB @inject(resourcesB:ResourceB) extends Contoller {
// i need to call some method of controllerA here for that i am doing it like this
val injector = Guice.createInjector(new ResourceADependencyModule())
val controllerB = injector.getInstance(classOf[ControllerA])
def someTask = controllerB.methodOfCOntrollerA
}
}
здесь я хочу изменить реализацию, которую я хочу зарегистрировать из файла conf (как я могу прочитать models.guice.ResourceADependencyModule) и не использовать Guice.createInjector
способ загрузки экземпляра ControllerA, есть ли способ сделать это?