1. 创建自己的 Bean 文件 : Beans.xml
<?xml version="1.0" encoding="UTF-8"?><busi-beans><beans><bean id="SysHelloImpl" type="com.cxm.test.SysHello"><desc>test</desc><impl-class>com.cxm.test.SysHelloImpl</impl-class></bean></beans></busi-beans>
2. 提供解析 xml 类 : xmlutils
/** * */package com.cxm.xmlutil; import Java.io.inputstream; Import Java.util.iterator; import Java.util.map; import org.jdom.attribute; com.cxm.beanInfo.beanInfo;/** * @author admin * */public class xmlutils {public static void parsexMldef (InputStream in, map <String, BeanInfo> beandefmap, StringBuffer SB) Ausnahme {SAXBUILDER -LEADER = NEW NEW SAXBUIMERS (FALSE DOCKEL); reader.build (in); iterator beanit = xpath.selectnodes (doc, "/busi-beans/beans/bean").iterator();element e; BeanInfo beandef; E.GetAtTribute ("id"); Attribut attrType = e.getAttribute ("type"); Attribut Singletype = E.GetAtTribute ("Single"); boolean isssingle = true; if (null! false;} beandef.setsingle (issingle); beandef.setbeanid (attrid.getValue ()); Beandef.Settype (attrType.getValue ()); BeanDef.setbeandec (Gettext (E, "); "impl-class"));//处理初始化参数beanDefMap.put(attrId.getValue(), beanDef);}}catch (Exception e){e.printStackTrace();}}/** * 根据指定的element, xPath获取XML文档内容 * * @param p_element * @param p_xPath * @return * @throws Exception */public static String getText(Element p_element, String p_xpath) löst Ausnahme aus {String text = null; Element e = (Element) xPath.SelectSinglenode (p_element, p_xpath); if (e! 3. 定义 Bean IO
/** * */package com.cxm.beanInfo;/** * @author admin * */public class BeanInfo {private String beanid; private String -Typ; private String beanDesc; type;}public void setType(String type){this.type = type;}private String implClassName;public String getBeanId(){return beanId;}public void setBeanId(String beanId){this.beanId = beanId;}public String getImplClassName(){return implClassName;}public void setImplClassName(String ImplClassName) {this.implClassName = ImplclassName;} public boolean isssing () {return issingle;} public void setsingle (boolean isssingle) {this.issingle = isssing;} private boolean issingle = true;} 4.Bean 的创建类 Beanutil
/** * */package com.cxm.bean;/** * @author admin * */public class BeanUtil{private static XmlBeanFactory factory = new XmlBeanFactory();/** * 获取定义好的Bean对象 * @param p_beanId * @return * @throws Exception */public static Object createBean(String p_beanId)throws Exception {return factory.createbean (p_beanid);}} /** * * /package com.cxm.bean; import Java.io.filenotfoundException; Import Java.io.inputStream; Import Java.lang.Reflect.Constructor; Import. com.cxm.beanInfo.beanInfo; import com.cxm.exception.nosuchbeandeFinitionException; com.cxm.xmlutil.xmlutils;/** * @Author admin * */public class xmlbeanfactory {private static static static static static static static static static.xml = "/BeanS.xml beanDefMap = new HashMap<String,BeanInfo>();private static Map<String,Object> instanceMap = new HashMap<String,Object>();static {InputStream in = XmlBeanFactory.class.getResourceAsStream(BEAN_XML);if(in ==null){try{throw new FileNotFoundException();}catch (FilenotFoundException e) {e.printstacktrace ();}} StringBuffer sb = new StringBuffer (); try {xmlutils.parsexMldef (in, beandefmap, sb);} catch (Ausnahme von neuere runTimeexception {wenn || Beanid.trim () == "") {Neue Ausnahme werfen ("Beanid Can nicht null oder ''");} BeanInfo BeanInfo = BeandefMap.get (beanid); if (null == BeanInfo) {Wurf New Nouchbeandefinitionexception ("Ancean is nicht definiert in xml"; Instance; if (beanInfo.issingle ()) {instance = instanCemap.get (beanId); if (null! constructor.newinstance (); if (beanInfo.issingle ()) {InstanCemap.put (Beanid, Instance);} return Instance;}} 5. 测试 :
/** * */package com.cxm.test;/** * @Author admin * */public interface syshello {void syshello ();}/** * */package com.cxm.test;/** * @Author admin * */public class syshello implements syshello {@verridepublic voiid Syshello (). World! ");}}/** * */package com.cxm.test; import com.cxm.bean.beanutil;/** * @author admin * */public class test {/** * @param args * @throws Exception */public static void main (String [] args) Ausnahme {syShello s = (Syshello) beanutil.createbean ("syshelloImpl"); S. syshello ();}}以上这篇 Java 实现 Spring 在 xml 配置 Java 类的方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。 也希望大家多多支持武林网。 也希望大家多多支持武林网。