2015-04-14 1 views
0

У меня есть существующее приложение Spring MVC с конфигурацией DispatcherServlet и XML.Spring Data REST с Spring MVC: добавление репозиторияRestMvcConfiguration в существующий DispatcherServlet

Теперь я хотел бы интегрировать Spring Data REST, но я не знаю, как это сделать чистым способом. Я добавил

<context:component-scan>...</context:component-scan> 

так что мои RestControllers встречаются, но я не в добавлении RepositoryRestMvcConfiguration конфигурации. Я попробовал аннотаций ориентированный подход, который не работает

@Configuration 
public class RestConfiguration extends RepositoryRestMvcConfiguration { 
... 
} 

и тому

<bean class="com.mypackage.rest.RestConfiguration" /> 

подход не работает либо.

Я также попытался follwing в web.xml

<servlet> 
    <servlet-name>myservlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextClass</param-name> 
     <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value> 
    </init-param> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>com.mypackage.rest.RestConfiguration</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

Странная вещь, метод с аннотацией @PostConstruct называется, но не в конфигурировании * методы.

В docs для Spring Data REST - это глава, в которой объясняется, как добавить Spring REST в приложение Spring MVC в коде. Он также говорит, что

Эквивалент вышеуказанного в стандартном файле web.xml также будет работать идентично этой конфигурации, если вы все еще находитесь в среде сервлета 2.5.

Как вы это делаете?

ответ

2

К счастью, в Section 11.2 объясняется. Было бы неплохо иметь ссылку в разделе 2.5, что указывает на раздел 11.2: -/

В Java это будет выглядеть так:

import org.springframework.context.annotation.Import; 
import org.springframework.data.rest.webmvc.RepositoryRestMvcConfiguration; 

@Configuration 
@Import(RepositoryRestMvConfiguration.class) 
public class MyApplicationConfiguration { 
    … 
} 

В XML это будет выглядеть :

<bean class="org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration"/>