我们正在使用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);
}
}
答案 0 :(得分:0)