`
dicmo
  • 浏览: 66910 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring IOC简单模拟

    博客分类:
  • ssh
阅读更多
spring框架的IOC

1.使用DOM4J读取xml配置文件
package com.dicmo.spring;
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class XMLPathApplicationContext implements BeanFactory{	
	Map <String,Object> container = new HashMap<String,Object>();
	public XMLPathApplicationContext(String fileName) throwsDocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException{
		
	    File xmlFile = new File(fileName);      
	    SAXReader reader = new SAXReader();    
	    Document xmlDoc = reader.read(xmlFile);    
	    List  listRowSet = xmlDoc.selectNodes("//beans/bean");   
	    for(Iterator i=listRowSet.iterator();i.hasNext();){
	    Element ele=(Element)i.next();	
	    String id = ele.attributeValue("id");
	    String classs = ele.attributeValue("class");
	    Object clas = Class.forName(classs).newInstance();
	    container.put(id,clas);
	    }
	  }
		
	public Object getBean(String id) {
	   return container.get(id);
	}
}


2.xml配置文件

<?xml version="1.0" encoding="UTF-8"?> 
<beans>
	<bean id="spring" class="com.dicmo.spring.Spring"></bean>
	<bean id="plane" class="com.dicmo.spring.Plane"></bean>
</beans>

3.test.java
package com.dicmo.spring;
import org.dom4j.DocumentException;

public class Test {
	public static void main(String [] args) throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException{
		XMLPathApplicationContext context = new XMLPathApplicationContext("G:/myeclpse6.5/spring/src/com/dicmo/spring/applicationContext.xml");
		Spring spring = (Spring)context.getBean("spring");
		spring.say();
		Plane plane = (Plane)context.getBean("plane");
		plane.say();
	}
}

1
1
分享到:
评论
1 楼 rrsy23 2010-12-08  
你这个有I的概念吗

相关推荐

Global site tag (gtag.js) - Google Analytics