Как создать глобальные переменные в проекте Grails - PullRequest
12 голосов
/ 14 апреля 2010

Какова лучшая практика создания переменной, которая была бы доступна почти всем классам в проекте Grails? Есть ли файл конфигурации, который я могу использовать для хранения этих данных (например, application.properties)?

Спасибо.

Ответы [ 2 ]

25 голосов
/ 14 апреля 2010

Ваш лучший выбор - Config.groovy. Любой класс может получить доступ к ConfigurationHolder.getConfig (), что делает его глобальным, и вы даже можете иметь значения переменной вашей среды.

someVar = "foo"

environments {
   production {
      grails.serverURL = "http://www.changeme.com"
      someOtherVar = 1000
   }
   development {
      grails.serverURL = "http://localhost:8080/${appName}"
      someOtherVar = 100
   }
   test {
      grails.serverURL = "http://localhost:8080/${appName}"
      someOtherVar = 0
   }
}
4 голосов
/ 07 ноября 2013

С Граалями 2.2

//In Config.groovy
myVar = '/My/Root/Images/Folder'

//In your Services/Controllers/etc..  
import grails.util.Holders
def grailsApplication = Holders.getGrailsApplication()

//access you variable
def myVar =  grailsApplication.config.myVar;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...