J'avais l'habitude d'obtenir la variable application.conf
dans Play 2.4.x avec Play.current.configuration.getString('NAME_HERE')
, et cela fonctionnait bien dans les objets de classe, objet et compagnon aussi.Comment obtenir la variable application.conf dans un objet en utilisant Scala et Play 2.5.x?
Maintenant, je suis en utilisant le jeu 2.5.4 avec Scala dans un nouveau projet, et je ne vais pas utiliser ce Play.current
, parce qu'il est dépréciée, mais il existe une alternative en utilisant DI, comme ceci:
class HomeController @Inject() (configuration: play.api.Configuration) extends Controller {
def config = Action {
Ok(configuration.underlying.getString("db.driver"))
}
}
Cette injection DI fonctionne comme un charme en classe, mais dans ce projet, j'ai besoin d'obtenir la variable db.driver
dans un objet? Et pour autant que je sache, avec un objet je ne peux pas utiliser DI.
Peut-être que l'utilisation de Guice aiderait?
@deprecated prend maintenant deux arguments :) et même si j'ajouté la version, en utilisant cela ne fonctionnera pas :) – elarib
@elarib pourquoi pas? – rethab