У меня есть 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, если это имеет значение.
Заранее большое спасибо!