Я пытаюсь интегрировать Resteasy и Spring; Я следил за обоими документами для Resteasy и этим сообщением: Inject Spring beans into RestEasy. У меня есть работа с использованием @Autowire или других аннотаций Spring на классе отдыха, но я хотел бы сделать это, сохраняя мои классы отдыха свободными от зависимостей весны (или DI). Я также хотел бы настроить весну только через конфигурацию java. В конфигурации пружинной я добавил следующее:Конфигурация Java Spring и Resteasy
<context:component-scan base-package="package.where.spring.configuration.beans.are , package.where.rest.classes.are">
<context:include-filter type="annotation" expression="javax.ws.rs.Path"/>
</context:component-scan>
и, конечно, у меня в web.xml, так что пружина конфигурации подхватывается SpringContextLoaderListener:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring-config.xml</param-value>
</context-param>
Удаление аннотаций @Autowire, если I и удалите первый пакет (где я сконфигурировал инъекции через конфигурацию Spring java), никакая инъекция не происходит, и поля остаются нулевыми; если я удалю второй пакет, URL-адреса для остальных классов не будут распознаны при помощи resteasy.
Я хотел бы настроить инъекции только в конфигурации Spring, есть ли способ, чтобы resteasy распознавал пути от весенних бобах, которые настроены извне?
EDIT: Я заметил, что я пытаюсь делать работы с @Provider аннотированных классов, при условии, что вы правильно настроить Spring:
<context:component-scan base-package="my.package1 , my.package2">
<context:include-filter type="annotation" expression="javax.ws.rs.ext.Provider"/>
</context:component-scan>
Но мистерия глубже, чем я думал, что первый ... Я более уверенно, что я на правильном пути и просто пропустил шаг!