1

在我的 grails 应用程序中,我想从属性文件中读取一些值并在启动时将其设置为 Grails Domain 类静态属性。

例子

Class A{

  static myValues="1,2";
} 

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

在上面的示例中,我直接给出了输入。而不是我想从一个 config.properties 文件中读取它,该文件将具有以下内容

A=1,2

B=2,3

是否有可能在 grails 中做到这一点。请帮助我。

4

1 回答 1

6

如果您将 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
      }
   }
}

显然,您需要检查属性文件是否可用、类是否存在等。

于 2010-03-16T18:02:25.770 回答