Java Guice:使用不同的配置创建多个对象实例
我想知道解决以下问题的最佳做法是什么: 我想要一些类的2个实例(特别是BlockingQueue)将它们注入到我的其他类中。这些实例中的每一个都是单独配置的(特别是,它们具有不同的容量),并且它们不支持通过@InjectAnnotation进行自动注入。这2个实例是应用程序中该类的仅有2个实例 现在,我知道我可以使用绑定注释来区分这两个实例,并使用实例绑定来实际绑定到单个实例。但问题是,我还需要配置这两个对象,并希望从Guice获得配置依赖项。你认为什么是最好的方法呢?一个选择是使用 在guice模块中创建一个提供依赖关系的方法。您可以添加在方法签名中构造对象所需的依赖项Java Guice:使用不同的配置创建多个对象实例,java,guice,Java,Guice,我想知道解决以下问题的最佳做法是什么: 我想要一些类的2个实例(特别是BlockingQueue)将它们注入到我的其他类中。这些实例中的每一个都是单独配置的(特别是,它们具有不同的容量),并且它们不支持通过@InjectAnnotation进行自动注入。这2个实例是应用程序中该类的仅有2个实例 现在,我知道我可以使用绑定注释来区分这两个实例,并使用实例绑定来实际绑定到单个实例。但问题是,我还需要配置这两个对象,并希望从Guice获得配置依赖项。你认为什么是最好的方法呢?一个选择是使用 在guic
@Provides
@MyBindingAnnotation
@Singleton
BlockingQueue<String> provideBlockingQueue(MyGuiceManagedConfig config){
return new LinkedBlockingQueue<String>(config.getCapacity());
}
try {
binder().bind(Integer.TYPE).toInstance(10);
binder().bind(new TypeLiteral<BlockingQueue<String>>() {})
.toConstructor(LinkedBlockingQueue.class.getConstructor(Integer.TYPE));
} catch (NoSuchMethodException e) {
addError(e);
}