Java EnableSpringDataWebSupport不支持';似乎无法很好地与WebMVCConfigureAdapter配合使用

Java EnableSpringDataWebSupport不支持';似乎无法很好地与WebMVCConfigureAdapter配合使用,java,spring,spring-mvc,spring-boot,spring-data,Java,Spring,Spring Mvc,Spring Boot,Spring Data,我在Spring Boot应用程序中成功地使用了@EnableSpringDataWebSupport来启用分页、排序等功能。然而,在某个时候,我不得不引入一个自定义参数解析器,并使用Java配置实现它,如下所示: @Configuration @EnableSpringDataWebSupport public class MvcConfig extends WebMvcConfigurerAdapter { @Override public void addArgume

我在Spring Boot应用程序中成功地使用了
@EnableSpringDataWebSupport
来启用分页、排序等功能。然而,在某个时候,我不得不引入一个自定义参数解析器,并使用Java配置实现它,如下所示:

@Configuration 
@EnableSpringDataWebSupport 
public class MvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        argumentResolvers.add(renamingProcessor());
    }

    @Bean
    protected RenamingProcessor renamingProcessor() {
        return new RenamingProcessor(true);
    } 
}
@配置
@EnableSpringDataWebSupport
公共类MvcConfig扩展了WebMVCConfigureAdapter{
@凌驾
public void addArgumentResolver(列出ArgumentResolver){
ArgumentResolver.add(重命名处理器());
}
@豆子
受保护的重命名处理器重命名处理器(){
返回新的重命名处理器(true);
} 
}
它使我的新参数解析器工作,但完全破坏了分页和其他功能,这些功能是由
@EnableSpringDataWebSupport
自动配置的。我已尝试将
WebMVCConfigureAdapter
切换到
DelegatingWebMvcConfiguration
WebMvcConfigurationSupport
等备选方案,但运气不佳--分页失败,出现异常:

未能实例化[org.springframework.data.domain.Pageable]: 指定的类是一个接口

我将感谢任何帮助或建议如何处理这个问题。类似的问题没有多大帮助:


因此,经过一些调查,我找到了解决方案(也许不是理想的解决方案,但仍然有效——我仍然很高兴看到Spring专业人员为这个问题提供了“正确”的解决方案)。我改变的是从
扩展WebMVCConfigureAdapter
切换到
扩展HateoasWareSpringDataWebConfiguration
(因为我们使用的是HATEOAS)。我还更新了被覆盖的
addArgumentResolver
,现在我的
MvcConfig
如下所示:

@Configuration
public class MvcConfig extends HateoasAwareSpringDataWebConfiguration {

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        super.addArgumentResolvers(argumentResolvers);
        argumentResolvers.add(renamingProcessor());
    }

    @Bean
    protected RenamingProcessor renamingProcessor() {
        return new RenamingProcessor(true);
    }
}
@配置
公共类MvcConfig扩展了HateoasWareSpringDataWebConfiguration{
@凌驾
public void addArgumentResolver(列出ArgumentResolver){
super.addArgumentResolver(ArgumentResolver);
ArgumentResolver.add(重命名处理器());
}
@豆子
受保护的重命名处理器重命名处理器(){
返回新的重命名处理器(true);
}
}
Pageable
的问题消失了,自定义
RenamingProcessor
就像一个符咒


希望这个答案能帮助面临类似问题的人

您不需要
@EnableSpringDataWebSupport
,因为当找到这些类时,Spring Boot已经处理了这些问题。@m-deinum感谢您的快速响应。我从config类中删除了
@EnableSpringDataWebSupport
,但结果是一样的——分页不起作用