Spring 读取配置文件beans.
public class ClassPathimplements BeanFactory{ private Map<String,Object> beans= new HashMap<String, Object>(); //ClassPath public ClassPaththrows Exception{ SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(this.getClass().getClassLoader().getResourceAsStream("beans.)); Element root = doc.getRootElement(); List list = root.getChildren("bean"); for(int i=0;i<list.size();i++){ Element element = (Element) list.get(i); String id=element.getAttributeValue("id"); String clazz = element.getAttributeValue("class"); //使用反射生成类的对象 Object o = Class.forName(clazz).newInstance(); System.out.println(id); System.out.println(clazz); beans.put(id, o); } } @Override public Object getBean(String id) { return beans.get(id); }
<bean id="" >
一个id对应一个class,放在hashMap集合,以id作为主键,进行查询。
原标题:ClassPathXmlApplicationContext
关键词:xml