1

私の grails アプリケーションでは、プロパティ ファイルからいくつかの値を読み取り、起動時にそれを Grails ドメイン クラスの静的プロパティに設定したいと考えています。

Class A{

  static myValues="1,2";
} 

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

上記の例では、入力を直接与えています..代わりに、次のような config.properties ファイルから読みたいと思います。

A=1,2

B=2,3

grails.Help でそれを行うことは可能ですか。

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 に答える