На даний момент я намагаюся створити програму Play2 з ін'єкцією залежності, з інформацією від офіційні документи. Однак моєї IDE не вдається знайти GuiceApplicationBuilder
. Тож який додатковий запис для libraryDependencies
чи потрібно вказати, щоб отримати цього будівельника?
EDIT: Я зробив скріншот того, що відбувається, коли я намагаюся імпортувати речі, викладені @anquegi
EDIT 2: Проблема була дуже проста: я використав неправильну версію Play - у 2.3.8 насправді таких не було, мені довелося використовувати 2.4.0-RC2, щоб змусити її працювати.
Відповіді:
1 для відповіді № 1Залежно від ігрових документів / ScalaDependencyInjection Ви повинні імпортувати це
import play.api.ApplicationLoader
import play.api.Configuration
import play.api.inject._
import play.api.inject.guice._
Це код компіляції в розділі Додатково: Розширення GuiceApplicationLoader
, тому вам потрібно використовувати це розширення у своєму класі:
import play.api.ApplicationLoader
import play.api.Configuration
import play.api.inject._
import play.api.inject.guice._
class CustomApplicationLoader extends GuiceApplicationLoader() {
override def builder(context: ApplicationLoader.Context): GuiceApplicationBuilder = {
val extra = Configuration("a" -> 1)
initialBuilder
.in(context.environment)
.loadConfig(extra ++ context.initialConfiguration)
.overrides(overrides(context): _*)
}
}