[英]What is proper way to create objects inside method using Guice
使用Guice在Singleton对象的方法内部创建对象的正确方法是什么?
如果下面有一些类似的代码,创建Class2实例的正确方法是什么? Class1是单例的,每次调用搜索时都需要创建一个Class2的新实例(因此我无法在构造函数字段中注入它……)如果需要,我将重新组织代码。
@Singleton
final class Class1 {
@Inject
private Class1(...){...}
public Class2 search(...){
Class2 newInstance=...
return newInstance;
}
}
我想我找到了。 需要为此类实例使用提供程序。 在构造函数中获取类provider,并使用provider.get获取实例。
就像是:
@Singleton
final class Class1 {
Provider<Class2> p;
@Inject
private Class1(Provider<Class2> pParam;...){
p=pParam;
...
}
public Class2 search(...){
Class2 newInstance=p.get();
return newInstance;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.