2010-03-16 4 views
1

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

Пример

Class A{ 

    static myValues="1,2"; 
} 

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

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

А = 1 , 2

B = 2,3

можно ли сделать это в grails.Help мне пожалуйста.

ответ

5

Если положить config.properties в Grails-приложении/конф, то это будет в пути к классам и этот код в Grails-приложение/конфе/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 
     } 
    } 
} 

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

Смежные вопросы