我有一个返回Map()的方法:
private Map<String, Catalog> readCatalogFromXml(String xmlFile) {
// blah blah read XML via DOM
}
但是,我需要将该调用的结果绑定到单个实例以注入多个类。我一直在查看MapBinder的文档,但很困惑。我可能错过了一些简单的事情,有人可以帮忙吗?
杰森
答案 0 :(得分:4)
只需在Module类中实现一个提供程序:
public class ModuleImpl extends AbstractModule {
@Override
protected void configure() {
// bind whatever needed
}
@Singleton
@Provides
Map<String, Catalog> provideMap(@XMLFile String xmlFile) {
// create an instance of your class
return myClass.readCatalogFromXml(xmlFile);
}
}
答案 1 :(得分:3)
如果您只需要注入返回的地图,我会......