繁体   English   中英

需要在play-2.5中通过DI在自定义类中创建单个WSClient对象作为该自定义类的属性。

[英]Need to create single WSClient object in a custom class as property of that custom class through DI in play-2.5.

我们正在使用play2.5和java。 我有一个自定义类,即类A,其中我已经注入了一个WSClient对象作为自定义类A到DI的属性。 我们创建了这个自定义类A的多个实例,因此对于自定义类A的每个新实例,我们都会得到一个新的WSClient实例。 我们的要求是在自定义类A的多个实例中应该只有单个WSClient实例。所以我在WSClient的属性之上使用了javax.inject的@Singleton注释。 但它不会创建单例实例,每当我实例化自定义类A时,它每次都会创建一个新的WSClient实例。任何人都可以建议使用一些sol来在我的自定义类A中创建WSClient的单个实例吗? 以下是代码段:

class A {

private final WSRequest holder;

@Singleton
public WSClient wsClient = Play.current().injector().instanceOf(WSClient.class);

 A(String url) {
    holder = wsClient.url(url);
  }
}

1)使用Spring框架

2)使用默认的单例范围将wsclient声明为bean

宣告Bean

3)使用spring的autowire功能将bean wsclient注入到A类中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM