У меня есть Java-приложение на основе Spring с некоторыми полезными компонентами. Как часть системы, у меня есть отличный скрипт для обработки некоторых отчетов. Я бы хотел назвать пружинный компонент из groovy script.
Когда я пишу на 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
.
Я запускаю groovyscript с GroovyClassloader
, инсталлированным из Java, если это важно
Заранее большое спасибо!