我有一個返回一個Map()的方法:綁定一個HashMap實例在吉斯
private Map<String, Catalog> readCatalogFromXml(String xmlFile) {
// blah blah read XML via DOM
}
然而,我需要該調用的結果綁定到單個實例被注入到多個類。我一直在查看MapBinder的文檔,但很困惑。我可能錯過了簡單的東西,任何人都可以協助?
傑森
我有一個返回一個Map()的方法:綁定一個HashMap實例在吉斯
private Map<String, Catalog> readCatalogFromXml(String xmlFile) {
// blah blah read XML via DOM
}
然而,我需要該調用的結果綁定到單個實例被注入到多個類。我一直在查看MapBinder的文檔,但很困惑。我可能錯過了簡單的東西,任何人都可以協助?
傑森
如果你只需要返回的地圖注入,我會......
就實現你的模塊類提供商:
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);
}
}
在文檔中搜索「提供者方法」以獲取更多示例。如果您需要,提供者方法可以採用@Singleton註解。 – 2011-12-20 04:01:05
@Darren謝謝,我只是一個Guice Newbie,所以不知道Singleton註釋。我會添加這個。 – helpermethod 2011-12-20 09:53:08
...或者他在打字時所說的話... – pal 2011-12-19 17:42:09