我在 Jerse Resources 和 spring interation 中使用 @Autowire。现在我希望能够在 Autowired 字段上使用模拟对象。,
我能够在 Jersey 1.17 中做到这一点,但在 2.2 上我找不到任何文档。
我已经厌倦了像这件 Jersey 2.* 这样的东西。如何替换 Jersey 1.* 的 InjectableProvider 和 AbstractHttpContextInjectable
并在设置容器时提供了自己的 SpringComponent。但这确实可以。,
Example:
@Path("/myresource")
public class MyResource {
@Autowired
private ConfigurationApi configurationApi;
@GET
@Produces("text/plain")
public String getIt() {
boolean isTrue = configurationApi.isEnabled("aconfig");
return "Hi there!: configuration is " + isTrue;
}
在球衣 1.17 我可以做这样的事情:
return new WebAppDescriptor.Builder("rest.resource")
.contextPath("application")
.servletClass(SpringServlet.class)
.servletPath("api")
.contextParam("contextClass", "rest.resource.test.spring.MockableContext")
.contextParam(SpringServlet.CONTEXT_CONFIG_LOCATION, "context.poc-test.xml")
.contextListenerClass(ContextLoaderListener.class)
.build();
然后稍后在实际测试中,我可以通过哈希映射将模拟对象添加到上下文类中。,
任何帮助都会得到帮助。,