我正在使用 @QuerydslPredicate 作为此处的 spring 文档中的建议。

QueryDSL web support
当我运行 Web 应用程序时,一切正常。但是对于我使用时的测试用例

MockMvcBuilders.standaloneSetup(classificationResource)

我得到了异常(exception):-
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 中做到这一点?

最佳答案

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

注入(inject)这个解析器:

@Inject
private QuerydslPredicateArgumentResolver querydslPredicateArgumentResolver;

然后将解析器添加到上下文:
MockMvcBuilders.standaloneSetup(classificationResource)
        .setCustomArgumentResolvers(querydslPredicateArgumentResolver)
        .build();

关于java - Spring 测试中的@QuerydslPredicate 在standaloneSetup 中失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33987320/

10-11 01:32