Java EnableSpringDataWebSupport不支持';似乎无法很好地与WebMVCConfigureAdapter配合使用
我在Spring Boot应用程序中成功地使用了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
@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]:
指定的类是一个接口
我将感谢任何帮助或建议如何处理这个问题。类似的问题没有多大帮助:
扩展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
,但结果是一样的——分页不起作用