码迷,mamicode.com
首页 > 移动开发 > 详细

ClassPathXmlApplicationContext

时间:2015-08-31 19:21:51      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

 

Spring 读取配置文件beans.xml原理:

public class ClassPathXmlApplicationContext implements BeanFactory{

    private Map<String,Object> beans= new HashMap<String, Object>();
    //ClassPathXmlApplicationContext(String xml)
    public ClassPathXmlApplicationContext() throws Exception{
        SAXBuilder sb = new SAXBuilder();
        Document doc = sb.build(this.getClass().getClassLoader().getResourceAsStream("beans.xml"));
        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="" class="">

一个id对应一个class,放在hashMap集合,以id作为主键,进行查询。

ClassPathXmlApplicationContext

标签:

原文地址:http://www.cnblogs.com/Nyan-Workflow-FC/p/4773624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!