with example application configuration grails runtime

configuration - example - ¿Cómo obtengo las golosinas en mi Grails Config.groovy en tiempo de ejecución?



grails with mysql (4)

Como se menciona en algunos de los comentarios, otra opción es la clase grails.utils.Holders que se agregó en Grails 2.0. Prefiero este enfoque ya que puede usarlo en clases que no están configuradas con inyección de dependencia.

import grails.util.Holders class Foo { def bar() { println(Holders.config.grails.serverURL) } }

en Config.groovy veo esto:

// set per-environment serverURL stem for creating absolute links environments { production { grails.serverURL = "http://www.changeme.com" } }

¿Cuál es la forma correcta de acceder a eso en tiempo de ejecución?


En versiones más recientes de grails, ConfigurationHolder ha quedado en desuso.

En su lugar, debe usar el objeto grailsApplication.

grailsApplication.config.grails.serverURL

Si está en un Controlador o Servicio, entonces use la inyección de dependencia del objeto grailsApplication. p.ej

class MyController{ def grailsApplication def myAction() { grailsApplication.config.grails.serverURL }

Consulte ¿Cómo acceder a la configuración de Grails en Grails 2.0?


aquí está:

import org.codehaus.groovy.grails.commons.ConfigurationHolder println ConfigurationHolder.config.grails.serverURL

alternativamente, en controladores y etiquetas, aparentemente esto funcionará:

grailsApplication.config.grails.serverURL

Lo necesitaba en BootStrap, así que la opción 1 era lo que necesitaba.


danb está en el camino correcto. Sin embargo, la vida se vuelve un poco más fácil si haces una importación más agradable:

import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH println CH.config.grails.serverURL