Para leer archivos de propiedades en Groovy puede utilizar la clase de utilidad ConfigSlurper y acceder a las propiedades contenidas utilizando expresiones GPath. Sin embargo, debe tener en cuenta que ConfigSlurper
no es compatible con archivos de propiedades estándar de Java. Normalmente, el ConfigSlurper
se usará para leer archivos .groovy que pueden ser similares a un archivo de propiedad, pero se adhieren a la notación groovy estándar, por lo tanto, las cadenas son comillas internas y los comentarios comienzan con //
o están dentro de un bloque /* */
. Por lo tanto, para leer un archivo de propiedades Java que necesita para crear un objeto java.util.Properties
y usarlo para crear un ConfigSlurper
:
def props = new Properties()
new File("message.properties").withInputStream {
stream -> props.load(stream)
}
// accessing the property from Properties object using Groovy's map notation
println "capacity.created=" + props["capacity.created"]
def config = new ConfigSlurper().parse(props)
// accessing the property from ConfigSlurper object using GPath expression
println "capacity.created=" + config.capacity.created
Si sólo utiliza el archivo de propiedades desde dentro del código maravilloso que debe utilizar la variante de la notación maravilloso directamente.
def config = new ConfigSlurper().parse(new File("message.groovy").toURL())
Esto también le da algunas ventajas agradables sobre archivos de propiedades estándar, por ejemplo en lugar de
capacity.created="x"
capacity.modified="y"
puede escribir
capacity {
created="x"
modified="y"
}
Tengo una clase separada, no es un controlador, probé esto y no funciona ... ¿alguna sugerencia? –
@ CPU100 inyecte' messageSource' en esa clase y use ' Método getMessage' –
Esto funcionó para mí donde tuve que pasar un valor dinámico para el Título: –
Xplora