在我的 grails 应用程序中,我想从属性文件中读取一些值并在启动时将其设置为 Grails Domain 类静态属性。
例子
Class A{
static myValues="1,2";
}
class B{
static myValues="2,3";
}
在上面的示例中,我直接给出了输入。而不是我想从一个 config.properties 文件中读取它,该文件将具有以下内容
A=1,2
B=2,3
是否有可能在 grails 中做到这一点。请帮助我。
在我的 grails 应用程序中,我想从属性文件中读取一些值并在启动时将其设置为 Grails Domain 类静态属性。
例子
Class A{
static myValues="1,2";
}
class B{
static myValues="2,3";
}
在上面的示例中,我直接给出了输入。而不是我想从一个 config.properties 文件中读取它,该文件将具有以下内容
A=1,2
B=2,3
是否有可能在 grails 中做到这一点。请帮助我。
如果您将 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
}
}
}
显然,您需要检查属性文件是否可用、类是否存在等。