4

我正在使用这里的春季文档中建议的@QuerydslPredicate。

QueryDSL Web 支持 当我运行 Web 应用程序时,Everthing 工作正常。但是对于我使用的测试用例

MockMvcBuilders.standaloneSetup(classificationResource)

我得到了例外:-

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.mysema.query.types.Predicate]: Specified class is an interface
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:101)

当我使用 .

 MockMvcBuilders.webAppContextSetup(wac).build();

我的问题是如何在 StandaloneSetup 中进行这项工作?

4

1 回答 1

2

在这种情况下将帮助下一个解析器:org.springframework.data.web.querydsl.QuerydslPredicateArgumentResolver

注入这个解析器:

@Inject
private QuerydslPredicateArgumentResolver querydslPredicateArgumentResolver;

然后将解析器添加到上下文中:

MockMvcBuilders.standaloneSetup(classificationResource)
        .setCustomArgumentResolvers(querydslPredicateArgumentResolver)
        .build();
于 2016-05-04T22:02:31.590 回答