Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Guice检索给定接口的多绑定实现集_Java_Guice - Fatal编程技术网

Java 如何使用Guice检索给定接口的多绑定实现集

Java 如何使用Guice检索给定接口的多绑定实现集,java,guice,Java,Guice,我的应用程序是用Guice构建的。应用程序模块使用多绑定器绑定接口的多个实现 Multibinder<FooInterface> newSetBinder = Multibinder.newSetBinder(binder(), FooInterface.class); newSetBinder.addBinding().to(FooInterfaceImpl.class); newSetBinder.addBinding().to(BarInterfaceImpl.class);

我的应用程序是用Guice构建的。应用程序模块使用多绑定器绑定接口的多个实现

Multibinder<FooInterface> newSetBinder = Multibinder.newSetBinder(binder(), FooInterface.class);
newSetBinder.addBinding().to(FooInterfaceImpl.class);
newSetBinder.addBinding().to(BarInterfaceImpl.class);
但是,这不适用于多绑定接口。我想返回给定接口的绑定集合,并断言该集合包含预期的类


有什么方法可以做到这一点吗?

使用以下方法找到了答案:

Injector.findBindingsByType(TypeLiteral<T> type)

…在返回的
列表中,我可以断言预期的类是其中一个绑定的目标。

使用以下方法找到了答案:

Injector.findBindingsByType(TypeLiteral<T> type)
…在返回的
列表中,我可以断言预期的类是其中一个绑定的目标

injector.findBindingsByType(new TypeLiteral<FooInterface>() {}))