Spring_使用XML配置文件创建对象

网友投稿 822 2022-10-14

Spring_使用XML配置文件创建对象

Spring_使用XML配置文件创建对象

package com.bjsxt.spring;public interface BeanFactory { public Object getBean(String name);}

package com.bjsxt.spring;import java.util.HashMap;import java.util.List;import java.util.Map;import org.jdom2.Document;import org.jdom2.Element;import org.jdom2.input.SAXBuilder;public class ClassPathXmlApplicationContext implements BeanFactory { private Map beans = new HashMap(); public ClassPathXmlApplicationContext() throws Exception { SAXBuilder sb = new SAXBuilder(); Document document = sb.build(ClassPathXmlApplicationContext.class .getClassLoader().getResource("beans.xml"));// 获取文件 Element root = document.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"); System.out.println(id + ":" + clazz); Object obj = Class.forName(clazz).newInstance(); beans.put(id, obj); } } @Override public Object getBean(String name) { return beans.get(name); }}

package com.bjsxt.service;import org.junit.Test;import com.bjsxt.dao.UserDao;import com.bjsxt.model.User;import com.bjsxt.spring.BeanFactory;import com.bjsxt.spring.ClassPathXmlApplicationContext;public class UserServiceTest { @Test public void testAdd() throws Exception { BeanFactory factory = new ClassPathXmlApplicationContext(); UserService service = new UserService(); UserDao ud = (UserDao) factory.getBean("u"); service.setUd(ud); User user = new User(); service.add(user); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ringpop-go - Go应用程序的可伸缩、容错应用程序层分片
下一篇:EasyNetwork封装了一套Android原生的Http框架,体积小,面向SDK开发者
相关文章

 发表评论

暂时没有评论,来抢沙发吧~