2010-03-16 113 views
1

在我的Grails應用程序我想讀一些值從屬性文件,並在啓動時設置爲Grails領域類的靜態屬性。Grails領域類屬性文件

Class A{ 

    static myValues="1,2"; 
} 

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

在我已經直接給出的該inputs..Instead我想從一個config.properties文件,這將具有以下

A = 1讀它上面的例子,2

B = 2,3

是否有可能做到這一點在grails.Help我請。

回答

5

如果你把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 
     } 
    } 
} 

顯然你需要檢查屬性文件是可用的,這些類,存在等