【发布时间】:2020-09-19 18:25:42
【问题描述】:
我正在使用 Guice 在 Java 应用程序中创建单例。我在模块类中使用了以下方法:
@Provides
@Singleton
public LinkedBlockingQueue<String> provideLinkedBlockingQueue() {
return new LinkedBlockingQueue<>();
}
在另一个类中,我尝试以这种方式获取实例:
public class Resource {
private final LinkedBlockingQueue<String> bufferQueue;
@Inject
public Resource(LinkedBlockingQueue<String> bufferQueue) {
this.bufferQueue = bufferQueue;
}
最后,我想从我的注入器访问我的应用程序中的同一个实例,我尝试这样做:
LinkedBlockingQueue<String> bufferQueue =
injector.getProvider(LinkedBlockingQueue.class).get();
这是在 Resource 类和我的注入器的应用程序之间共享实例的正确方法吗?
【问题讨论】:
标签: java dependency-injection singleton guice