public class ClassXmlPathApplicationContext implements BeanFactory {
private Map<String, Object> map = new HashMap<String, Object>();
public ClassXmlPathApplicationContext(String fileName) throws Exception, IOException {
SAXBuilder sb = new SAXBuilder();
Document document = sb.build(this.getClass().getClassLoader().getResourceAsStream(fileName));
Element root = document.getRootElement();
List list = XPath.selectNodes(root, "/beans/bean");
for(int i = 0;i<list.size();i++){
Element bean = (Element) list.get(i);
String id = bean.getAttributeValue("id");
String clazz = bean.getAttributeValue("class");
map.put(id, Class.forName(clazz).newInstance());
}
}
@Override
public Object getBean(String id) {
return map.get(id);
}
评论1
最新资源