Доступ играть! 2.0 переменные конфигурации в application.conf? - PullRequest
80 голосов
/ 25 марта 2012

Ранее в игре!v1 было действительно легко определить переменные конфигурации в application.conf, а затем обращаться к ним следующим образом:

play.configuration("db.driver")

Однако сейчас я не могу найти ничего в документации для аналогичного использования в v2 или подходящей альтернативы.Какой метод для этого?

Ответы [ 13 ]

1 голос
/ 23 октября 2016

В качестве небольшого вклада / улучшения во все ответы @Inject здесь не нужно вызывать реализацию config.underlying.Вы можете напрямую использовать config.getString

пример:

@Singleton
class RESTSessionChecker @Inject()(
    implicit override val conf: Configuration)
    extends Filter {

   val MAX_CONCURRENT_REQUESTS = conf.getString("MAX_CONCURRENT_REQUESTS").
         getOrElse("100").toInt
   ...
0 голосов
/ 31 мая 2017

// пост нового подхода 2.5.x

    import javax.inject.Inject
import play.api.Configuration

class Example @Inject() (playconfiguration: Configuration) {
    def index() = {
        val confString: String = playconfiguration.getString("confKey").get
    }

}

источник: https://www.webkj.com/play-framework/play-scala-2.5-reading-config-using-di

0 голосов
/ 17 октября 2014

Как уже упоминалось, вам нужно импортировать play.api.Play.current. Тогда, если вы запустите:

current.configuration.getString("db.driver")

На 2.3.x / scala 10 вы получите

type mismatch; 
found   : Option[String]
required: String

Если это обязательно, это будет работать:

url = current.configuration.getString("db.driver").get

Кто-нибудь предлагает лучший ответ?

...