3

我在 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();

然后稍后在实际测试中,我可以通过哈希映射将模拟对象添加到上下文类中。,

任何帮助都会得到帮助。,

4

0 回答 0