2010-03-16 85 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 
     } 
    } 
} 

显然你需要检查属性文件是可用的,这些类,存在等