playframework - Play.current está en desuso en el juego 2.5
playframework-2.5 (1)
Dependiendo de su caso de uso, ahora debería usar Environment
, ApplicationLifecycle
y Configuration
lugar de Application
En su caso, en realidad está interesado en la configuración, por lo que la forma de hacerlo en Play 2.5.x sería la siguiente:
class HomeController @Inject() (configuration: play.api.Configuration) extends Controller {
def config = Action {
Ok(configuration.underlying.getInt("some.config.key"))
}
}
El ejemplo que proporcioné es para un controlador pero también puede usar este enfoque en otros lugares de su aplicación. Simplemente no me gustó el objeto ApplicationConfig
que me proporcionó; considere refaccionarlo cuando migre a Play 2.5.x. DI ahora es el camino a seguir.
Actualmente estoy usando Play.current de la siguiente manera.
import play.api.{Logger, Play}
object ApplicationConfig {
val app = Play.current
def getConfInt(key: String): Option[Int] = {
val result = app.configuration.getInt(key)
result
}
}
Desde la migración a 2.5, tengo una advertencia que dice que está en desuso con
"Esta es una referencia estática a la aplicación, use DI en su lugar"
Sin embargo, el documento no dice exactamente cómo se supone que debo usar DI en su lugar.
Gracias