我正在使用@QuerydslPredicate,正如今年春季文档中所建议的那样。
QueryDSL web support 当我运行Web应用程序时,Everthing工作正常。但是对于我使用时的测试用例
search: (?:\G(?!^)|A)\K[0-9]
replace: .
我得到例外: -
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)
我的问题是如何在standaloneSetup中完成这项工作?
答案 0 :(得分:1)
在这种情况下,将有助于下一个解析器: org.springframework.data.web.querydsl.QuerydslPredicateArgumentResolver
注入此解析器:
@Inject
private QuerydslPredicateArgumentResolver querydslPredicateArgumentResolver;
然后将解析器添加到上下文中:
MockMvcBuilders.standaloneSetup(classificationResource)
.setCustomArgumentResolvers(querydslPredicateArgumentResolver)
.build();