首页 > 移动平台 > 详细

ClassPathXmlApplicationContext

时间:2015-08-31 19:21:21      阅读:349      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!