Интерактивная консоль Play Framework - класс доступа с DI - PullRequest
0 голосов
/ 21 октября 2018

Я использую Play 2.6.

Я использую sbt console, чтобы войти в интерактивную консоль.

Я использую эту ссылку для загрузки приложения https://www.playframework.com/documentation/2.6.x/PlayConsole#launch-the-interactive-console

Iveтипичная модель, как показано ниже

@Singleton

class UserRepository @Inject() (@NamedDatabase("mysql") dbConfigProvider: DatabaseConfigProvider)(implicit ec: ExecutionContext) {

Как получить доступ к одноэлементному экземпляру UserRepository внутри REPL?

1 Ответ

0 голосов
/ 21 октября 2018

Я использую эту ссылку для загрузки приложения https://www.playframework.com/documentation/2.6.x/PlayConsole#launch-the-interactive-console

Это даст вам доступ к приложению

import play.api._
val env = Environment(new java.io.File("."), this.getClass.getClassLoader, Mode.Dev)
val context = ApplicationLoader.createContext(env)
val loader = ApplicationLoader(context)
val app = loader.load(context)
Play.start(app)

// Now to load my classwith all the dependencies injected and ready to use
val c = Class.forName("user.UserRepository")
val repo = app.injector.instanceOf(c).asInstanceOf[user.UserRepository]
repo.list
...