我正在使用 @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/