基本上我想了解MapBinder的工作原理。我试图搜索一些例子,但找不到一个让我满意的人。在我的问题之前,这是我的一些设置。
public class MyModule extends AbstractModule {
@Override
protected void configure() {
MapBinder<String, MyInterface> binder = MapBinder.newMapBinder(.....);
binder.addBinding("one", One.class);
binder.addBinding("two", Two.class);
}
}
public class EntryPoint {
@Inject
Map<String, MyInterface> myMap;
public void start() {
Injector injector = Guice.createInjector(new MyModule());
Two two = myMap.get("two");
//Use two here.
}
}
如何将绑定注入myMap
?我觉得我没有正确使用它。
答案 0 :(得分:2)
您不能将EntryPoint
注入任何地方。你想做什么
EntryPoint ep = injector.getInstance(EntryPoint.class);
或者如果它不起作用,
injector.injectMembers(this);
来自EntryPoint
。