2012-03-22 13 views
5

En mi aplicación actual de grails, tengo los granos de primavera definidos en resources.groovy. Ahora también tengo un archivo xml con un montón de beans ya definidos, y me gustaría usarlos como están en vez de volver a crear cada bean en el bean dsl.¿Es posible importar un archivo XML de configuración de bean externo a resources.groovy?

¿Es esto posible en absoluto? ¿Hay un equivalente de la etiqueta de importación xml en griales bean dsl? Pensé en agregar la importación ... en applicationContext.xml pero no estoy seguro de que sea el lugar correcto para hacerlo.

Gracias de antemano,

Philippe

Respuesta

11

Se pueden importar los granos en un archivo XML en resources.groovy usando

beans = { 
    importBeans('classpath:/applicationContext-services.xml') 
} 
+0

No pude hacer funcionar este ... ¿Tengo que hacer eso dentro del cierre de frijoles existente o después? – Philippe

+0

He actualizado mi respuesta –

+0

Todavía no puedo hacer que funcione con eso ... ninguno de los beans en mi archivo xml se cargan. – Philippe

2

Puede cambiar el nombre a resources.xml y ponerlo en la misma carpeta. La versión xml todavía es compatible, pero no se crea automáticamente como la versión de Groovy.

+0

Gracias. Sabía que todavía podía hacer esto, pero pensé que no podía hacer recursos. Coexistir .groovy y resources.xml. Parece que es posible ... – Philippe

1

Para conseguir esto para trabajar en griales 1.3.7 realidad que tenía que hacer algo como esto;

beans { 

    switch(Environment.current) { 

     case Environment.DEVELOPMENT: 
     importBeans('file:grails-app/conf/spring/messaging.xml') 
     break 
     default: 
     importBeans 'classpath*:WEB-INF/spring/messaging.xml' 
     break 
    } 

} 

Necesitaba el * after classpath para que se recoja cuando se ejecuta en el servidor de aplicaciones. No funciona en el desarrollo, aunque, por lo tanto, los diferentes accesorios para él

Consulte http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/core/io/support/PathMatchingResourcePatternResolver.html para obtener documentación sobre la sintaxis coincidente.

Cuestiones relacionadas