2010-03-16 4 views
1

Dans mon application Grails, je souhaite lire certaines valeurs du fichier de propriétés et les définir sur la propriété statique Grails Domain class au démarrage.Propriétés de classe de domaine Grails du fichier de propriétés

Exemple

Class A{ 

    static myValues="1,2"; 
} 

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

Dans l'exemple ci-dessus, je l'ai directement donné l'inputs..Instead de ce que je veux lire d'un fichier config.properties qui aura la

suivante

A = 1 , 2

B = 2,3

Est-il possible de le faire en grails.Help me s'il vous plaît.

Répondre

5

Si vous mettez config.properties dans Grails-app/il va conf être dans le classpath et ce code dans Grails-app/conf/BootStrap.groovy charge les propriétés et définir les valeurs:

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 
     } 
    } 
} 

De toute évidence, vous devrez vérifier que le fichier de propriétés est disponible, que les classes existent, etc.

Questions connexes