как загрузить инжектор из конфига используя Guice в play Framework - PullRequest
0 голосов
/ 16 ноября 2018

Я использую 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, есть ли способ сделать это?

...