я создаю веб-сервис Джерси JAX-RS со следующим:Как загрузить Spring ApplicationContext в Заявлении Джерси
package com.mycompany.rest.config;
import java.util.Set;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
return getRestResourceClasses();
}
private Set<Class<?>> getRestResourceClasses() {
Set<Class<?>> resources = new java.util.HashSet<Class<?>>();
resources.add(com.mycompany.rest.controllers.UserController.class);
return resources;
}
}
Однако, когда я пытаюсь интегрировать пружинный ApplicationContext такие как:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.mycompany.rest.user"/>
<bean id="userService" class="com.mycompany.rest.user.UserServiceImpl" />
</beans>
Я получаю нулевые указатели от моего класса контроллера для пользовательской службы, загружаемой компонентом, вставленным выше. Я предполагаю, что это связано с тем, что контекст приложения не загружается в приложение Джерси.
Есть ли способ сделать это?
Привет, спасибо за ссылку. Но, похоже, проблема с файлом pom. Я получаю сообщение об ошибке при попытке сделать mvn-пакет. Эта ошибка: Невозможно получить информацию о зависимостях: невозможно прочитать файл метаданных для артефакта 'org.glassfish.jersey.containers: jersey-container-servlet: jar': недопустимая версия JDK в профиле 'jdk1.7 +': неограниченный диапазон : [1.7, для проекта org.glassfish.jersey: проект org.glassfish.jersey.containers: jersey-container-servlet: jar: 2.19 – gstanley
@gstanley, не уверен, что он по-прежнему актуальный, но у меня были подобные проблемы и разрешены это за счет исключения конкретных переходных зависимостей: ' org.glassfish.jersey.ext Джерси-spring3 2.22.1 org.springframework весна-бобы org.springframework весна-бобы ... ' –