Tengo una aplicación java basada en un resorte con algunos componentes útiles. Como parte del sistema, tengo una secuencia de comandos groovy, para procesar algunos informes. Me gustaría llamar a un componente de primavera de guión groovy. Cuando estoy escribiendo en Java, necesito utilizar @Autowired
anotación dentro de la @Component
, es decirComponente de Spring desde groovy
@Component
class Reporter{
@Autowired
SearchService searchService;
void report(){
searchService.search(...);
...
}
}
¿Cómo puedo hacer lo mismo de maravilloso? Al principio, ¿cómo puedo definir @Component
para todo el script? El siguiente código:
@Component class Holder{
@Autowired
SearchService searchService;
def run(){
searchService.search("test");
}
}
new Holder().run()
falla con NPE en searchService
. Estoy ejecutando groovyscripts con GroovyClassloader
instalados desde Java, si es que importa. ¡Muchas gracias de antemano!
¿Cómo se crea el contexto de la aplicación de resorte? – gkamal