这看起来像Guice
MultiBinder的用例。您可能会有类似的内容:
interface YourInterface { ...}class A implements YourInterface { ...}class B implements YourInterface { ...}class YourModule extends AbstractModule { @Override protected void configure() { Multibinder.newSetBinder(YourInterface.class).addBinding().to(A.class): Multibinder.newSetBinder(YourInterface.class).addBinding().to(B.class): }}您可以在
Set<YourInterface>任何地方注入:
class SomeClass { @Inject public SomeClass(Set<YourInterface> allImplementations) { ... }}那应该符合您的需求。



