首先,感谢您为尝试回答该问题所做的任何努力。从当前应用程序注入器(play.api.Play.current.injector),如何获取类的命名实例?我试图将注入器投射到ScalaInjector(net.codingwell.scalaguice.InjectorExtensions.ScalaInjector)和Guice注入器(com.google.inject.Injector),但均未成功。问题在于,只有3种方法来实例化一个类,所有方法都重载了instanceOf [T]
对于正常的依赖关系,你会做
play.api.Play.current.injector.instanceOf[ProjectRepo]
当您要检索命名的依赖项时,可以执行
val qualifier = Some(QualifierInstance(Names.named("name")))
val bindingKey = BindingKey[ProjectRepo](Class[ProjectRepo], qualifier)
play.api.Play.current.injector.instanceOf[ProjectRepo](bindingKey)
无论如何,仅应在极少数情况下直接使用注入器,以确保没有更简单的方法来检索依赖项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句