gpt4 book ai didi

java - 使用 Guice 在方法内创建对象的正确方法是什么

转载 作者:行者123 更新时间:2023-12-01 17:46:33 25 4
gpt4 key购买 nike

使用 Guice 在 Singleton 对象的方法内创建对象的正确方法是什么。

如果我有如下代码,创建 Class2 实例的正确方法是什么?Class1 是单例的,每次调用搜索时都需要创建 Class2 的一个新实例(因此我无法使用构造函数字段注入(inject)它...)如果需要,我将重新组织代码。

@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;
}

}

关于java - 使用 Guice 在方法内创建对象的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54515233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com