Насколько я знаю, внутренние действия создаются Джейсоном, а не пружиной, поэтому вы не можете использовать сервисы autowire. Персонально, я создаю фабрику и использую ее для получения экземпляра сервиса. Примерно так:
public class SpringPluginFactory {
private static final SpringPluginFactory INSTANCE = new SpringPluginFactory();
private ApplicationContext applicationContext;
private SpringPluginFactory(){}
private <T> T createPlugin(Class<T> iface) {
if(applicationContext == null){
throw new IllegalStateException("applicationContext cannot be null");
}
try {
return applicationContext.getBean(iface);
} catch (Exception e) {
throw new RuntimeException("factory unable to construct instance of " + iface.getName());
}
}
public static <T> T getPlugin(Class<T> iface){
return INSTANCE.createPlugin(iface);
}
public void setApplicationContext(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
}
}
затем я создаю bean-компонент для установки aplicationContext:
@Bean
public SpringPluginFactory pluginFactory(ApplicationContext applicationContext){
SpringPluginFactory pluginFactory = SpringPluginFactory.INSTANCE;
pluginFactory.setApplicationContext(applicationContext);
return pluginFactory;
}
и использовать фабрику в любых действиях или внутренних действиях
SpringPluginFactory.getPlugin(YouService.class).doSomething();
Может быть, это поможет.