Как ввести весенний боб в Джерси InjectableProvider - PullRequest
1 голос
/ 29 августа 2011

Я только что создал реализацию InjectableProvider для Джерси, но обнаружил, что для полной настройки инъекций мне нужна поддержка из фабричного компонента Spring. Я ищу способ внедрить эту фабрику как поле в класс провайдера. Я уже пытался использовать аннотацию @Component, но это не удалось с исключением IllegalState (Нет области, зарегистрированной для области «запрос»))

Как правильно обращаться с этим? Или есть способ получить контекст приложения из Jerseys HTTPcontext?

1 Ответ

0 голосов
/ 15 декабря 2012

Уже поздно, но я ненавижу видеть вопросы без ответа.

как правило, на вашем фабричном бобе вы должны иметь:

@Component
public class FactoryBean(){}

, а в вашем провайдере вы должны использовать

public class Provider extends InjectableProvider<Context>{
      @InjectParam
      private FactoryBean factoryBean;
}

На первый взгляд, вы думаете, что выследует использовать @Autowired, поскольку это Spring-компонент "Компонент" - но поскольку мы связываем его с экземпляром, созданным на Джерси, следует использовать @InjectParam Джерси.

...