org.dom4j
dom4j
2.1.1
jaxen
jaxen
1.1.6
[](()xml配置
这里最好还是写全生成小绿叶子好一点,不然后面test就报错!!!
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> [](()测试类 public class HelloService { public void test(){ System.out.println(“HelloService…successful!!!”); } } [](()模拟ioc public interface ApplicationContext { public Object getBean(String id); } public class lcyApplicationContext implements ApplicationContext { private String xmlPath; private List lcyBeans = new ArrayList<>();//存放解析结果 private Map public lcyApplicationContext(String xmlPath){ this.xmlPath=xmlPath; readXml(); initBean(); } private void initBean() { //开始反射生成bean if(lcyBeans.size()>0){ for(LcyBean lcyBean:lcyBeans){ String id=lcyBean.getId(); String clazz=lcyBean.getClazz(); try { beanMap.put(id,Class.forName(clazz).newInstance()); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } } private void readXml() { if(null!=xmlPath&&“”!=xmlPath){ //创建解析对象 SAXReader reader = new SAXReader(); try { URL url = this.getClass().getClassLoader().getResource(xmlPath); Document document = reader.read(url); List list=document.selectNodes(“//beans/bean”); for(Iterator iter =list.iterator();iter.hasNext() { Element e = (Element)iter.next(); System.out.println(e.attributeValue(“id”) + e.attributeValue(“class”)); //存入集合 LcyBean lcyBean= new LcyBean(); lcyBean.setId(e.attributeValue(“id”)); lcyBean.setClazz(e.attributeValue(“class”)); lcyBeans.add(lcyBean); } } catch (DocumentException e) { e.printStackTrace(); System.err.println(“文件找不到”); } } else{
[](()1…application.java 接口



