代码之家  ›  专栏  ›  技术社区  ›  DonX

属性文件中的grails域类属性

  •  1
  • DonX  · 技术社区  · 14 年前

    在grails应用程序中,我想从properties文件中读取一些值,并在启动时将其设置为grails域类static property。

    例子

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

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

    a= 1,2

    B= 2,3

    在圣杯里能做到吗。请帮帮我。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Burt Beckwith    14 年前

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

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