播放2.4.2 JavaWs提供空值

播放2.4.2 JavaWs提供空值,java,dependency-injection,playframework,playframework-2.4,playframework-webservice,Java,Dependency Injection,Playframework,Playframework 2.4,Playframework Webservice,我正试图在Play2.4中使用JavaWs,因为我已经将JavaWs添加到依赖中 然后添加了@injectstaticwsclient-ws到我的控制器 但问题是如果我这样做 Logger.info(ws); 在我的控制器方法中,它在控制台中打印null。我似乎无法解决这个问题,因为如果是依赖性问题,则不会导入WsClient 有什么我遗漏的吗?根据使用情况,不建议使用静态注入,这应该是使用它的特殊原因。为了使用静态注入,您应在模块中添加以下配置: requestStaticInjectio

我正试图在Play2.4中使用JavaWs,因为我已经将JavaWs添加到依赖中

然后添加了
@injectstaticwsclient-ws到我的控制器

但问题是如果我这样做

Logger.info(ws);
在我的控制器方法中,它在控制台中打印null。我似乎无法解决这个问题,因为如果是依赖性问题,则不会导入
WsClient

有什么我遗漏的吗?

根据使用情况,不建议使用静态注入,这应该是使用它的特殊原因。为了使用静态注入,您应在模块中添加以下配置:

 requestStaticInjection(WSClient.class); 
但我建议只从WSWS客户机中删除静态数据

使用提供者注入甚至更好。在这种情况下,仅当确实需要WSClient时才会实例化它。注入:

@Inject
private Provider<WSClient> wsProvider; 
此外,如果您打算对控制器进行单元测试,那么直接注入WSClient可能会有问题

你可以在这本书中读到更多关于游戏中注射的内容;尽管帖子提到了游戏2.5,但2.4的所有想法都是相似的

WSRequest request = wsProvider.get().url("url");