Преобразование Java -> Grails ... Как мне загрузить эти свойства? - PullRequest
2 голосов
/ 21 марта 2011

Я конвертирую веб-приложение на Java в Grails (1.2.1). В моем приложении Java у меня есть синглтон, который загружает свойства из файла ".properties". Я видел, что могу поместить эту загрузку в файл конфигурации "Config.groovy". Если мои свойства загружены в Config.groovy, как мне загрузить их в мой файл Java? Вот как я это делаю, когда Конфиг был загружен в Java ...

Длинный интервал = ConfigSingleton.getInstance (). GetGlobalCacheRefreshInterval ();

Спасибо, - Дейв

Ответы [ 3 ]

3 голосов
/ 21 марта 2011

Адаптировано из Grails Руководство пользователя :

Вы можете добавить свою собственную конфигурацию в grails-app/conf/Config.groovy, например:

globalCacheRefreshInterval = 120

Затем в приложенииВы можете получить доступ к этим настройкам одним из двух способов.Наиболее распространенным является объект GrailsApplication, который доступен как переменная в контроллерах и библиотеках тегов:

Long interval = grailsApplication.config.globalCacheRefreshInterval

Другой способ заключается в получении ссылки на класс ConfigurationHolder, который содержит ссылку наобъект конфигурации:

def config = org.codehaus.groovy.grails.commons.ConfigurationHolder.config
Long interval = config.globalCacheRefreshInterval

Если вы хотите получить доступ к этой конфигурации из класса Java , вы можете использовать:

import org.codehaus.groovy.grails.commons.ConfigurationHolder;
...
Map config = ConfigurationHolder.getFlatConfig();
Long interval = (Long) config.get("globalCacheRefreshInterval");

Внимание для правильного ввода вваш Config.groovy.В приведенном выше случае ваше свойство конфигурации должно быть определено как Long:

globalCacheRefreshInterval = 120L
0 голосов
/ 21 марта 2011

Дэйв, если вам нужно загрузить файл свойств как есть, не перемещая их в Config.groovy вручную, вы можете сделать следующее в файле Config.groovy:

 grails.config.locations = [
          "file:" + "/pathWhereFileLives/fileName.properties"
  ]

Это загрузит все свойства, которые у вас есть в файле в классе конфигурации Grails. Следует иметь в виду, что если у вас есть свойство в Config.groovy и файл свойств с тем же именем, то из файла свойств будет переопределено значение из Config.groovy

Более подробную информацию о внешних конфигурациях Grails можно найти здесь .

0 голосов
/ 21 марта 2011

Вам также следует проверить класс ConfigSlurper (это то, что Grails использует для загрузки своего конфигурационного файла).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...