Свойства класса домена Grails из файла свойств - PullRequest
1 голос
/ 16 марта 2010

В моем приложении grails я хочу прочитать некоторые значения из файла свойств и установить при запуске статическое свойство класса Grails Domain.

Пример

Class A{

  static myValues="1,2";
} 

 class B{
   static myValues="2,3";
  }

В приведенном выше примере я непосредственно указал входные данные. Вместо этого я хочу прочитать его из одного файла config.properties, который будет иметь следующий

А = 1,2

В = 2,3

Можно ли сделать это в граалях. Помогите мне, пожалуйста.

1 Ответ

6 голосов
/ 16 марта 2010

Если вы поместите config.properties в grails-app / conf, то он будет в пути к классам, и этот код в grails-app / conf / BootStrap.groovy загрузит свойства и установит значения:

class BootStrap {

   def init = { servletContext ->
      def props = new Properties()
      def cl = Thread.currentThread().contextClassLoader
      props.load cl.getResourceAsStream('config.properties')
      props.each { key, value ->
         def clazz = Class.forName(key, true, cl)
         clazz.myValues = value
      }
   }
}

Очевидно, вам нужно проверить, доступен ли файл свойств, существуют ли классы, существуют и т. Д.

...