Ho un'applicazione java a molla con alcuni componenti utili. Come parte del sistema ho uno script groovy, per elaborare alcuni report. Mi piacerebbe chiamare un componente di primavera da script groovy. Quando sto scrivendo in Java, ho bisogno di usare @Autowired
annotazioni all'interno del @Component
, vale a direChiamare il componente Spring da groove
@Component
class Reporter{
@Autowired
SearchService searchService;
void report(){
searchService.search(...);
...
}
}
Come posso fare lo stesso dal groove? Inizialmente, come posso definire @Component
per l'intero script? Il seguente codice:
@Component class Holder{
@Autowired
SearchService searchService;
def run(){
searchService.search("test");
}
}
new Holder().run()
fallisce con NPE su searchService
. Sto eseguendo groovyscripts con GroovyClassloader
instatiaded da Java, se è importante. Grazie mille in anticipo!
Come viene creato il contesto dell'applicazione molla? – gkamal