无法实例化Pageable bean

我使用Spring 4.1.6.RELEASE和Spring Data Jpa 1.8.0.RELEASE。我在创建org.springframework.data.domain.Pageable bean时遇到问题。它在我的控制器中使用:

@Controller

public class ItemsController {

@Autowired

ProductService itemsService;

@RequestMapping(value = "/openItemsPage")

public String openItemsPage() {

return "items";

}

@RequestMapping(value = "/getItems", method = RequestMethod.GET)

@ResponseBody

public Item[] getItems(Pageable pageable) {

return itemsService.getItems(pageable);

}

}

我的应用程序上下文中还有一个下一个xml配置:

<context:component-scan base-package="com.mobox.controller" />

<mvc:annotation-driven>

<mvc:argument-resolvers>

<beans:bean id="sortResolver"

class="org.springframework.data.web.SortHandlerMethodArgumentResolver" />

<beans:bean

class="org.springframework.data.web.PageableHandlerMethodArgumentResolver">

<beans:constructor-arg ref="sortResolver" />

</beans:bean>

</mvc:argument-resolvers>

</mvc:annotation-driven>

最后,我从客户端执行下一个requsr:

   $.ajax({

type: "GET",

url: "getProducts?page=0&size=100",

.....

在tomcat日志中,我看到下一个:

    SEVERE: Servlet.service() for servlet [appServlet] in context with path [/a2delivery-web] threw exception [Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface] with root cause

org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface

at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:101)

at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:137)

at org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java:80)

at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:106)

at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:77)

at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)

....................

请帮助我解决此问题,谢谢!

回答:

实现此功能的最简单方法是@EnableSpringDataWebSupport在你的配置中进行设置。或者,在基于XML的纯配置中,声明SpringDataWebConfiguration为Spring bean

这将确保必要的东西HandlerMethodArgumentResolver将被正确注册。

以上是 无法实例化Pageable bean 的全部内容, 来源链接: utcz.com/qa/422520.html

回到顶部