Вызов компонента Spring из groovy

У меня есть Java-приложение на основе Spring с некоторыми полезными компонентами. В составе системы есть отличный скрипт для обработки некоторых отчетов. Я бы хотел вызвать весенний компонент из отличного скрипта. Когда я пишу на Java, мне нужно использовать аннотацию @Autowired внутри @Component , т.е.

@Component
class Reporter{
@Autowired
SearchService searchService;

void report(){
 searchService.search(...);
 ...
}
}

Как я могу сделать то же самое из Groovy? Во-первых, как я могу определить @Component для всего скрипта? Следующий код:

@Component class Holder{
    @Autowired
    SearchService searchService;

    def run(){
        searchService.search("test");
    }
}

new Holder().run()

не работает с NPE на searchService . {{ 1}} Я запускаю groovyscripts с GroovyClassloader , установленным с Java, если это имеет значение. Заранее большое спасибо!

5
задан Benjamin Muschko 7 October 2011 в 20:27
поделиться