<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    jdom xpath
    今天的空,回味一下勇哥的視頻,敲了一段他的程序,感覺整個思想還是不錯的。利用Xpath,雖然我一直在用dom4j,多少對jdom還是挺關注的。

    PS:2009-8-8 17:24:15
    之前這個測試程序還一直會有問題,
    后來解決了,問題就是我沒用到最新JDOM包,這個問題,總是會讓人很郁悶。

    <?xml version="1.0" encoding="UTF-8"?>
    <sys-configure>
        
    <jdbc-info>
            
    <driver-class-name>net.sourceforge.jtds.jdbc.Driver</driver-class-name>
            
    <url>jdbc:jtds:sqlserver://121.14.110.49:1433/wubai_wapcp</url>
            
    <username>wap</username>
            
    <password>esunxyz500wan!^wap</password>
        
    </jdbc-info>
        <!--N多的bean-->
        
    <beans>
            
    <bean id="com.Gavin.jdomXpath.Test1" class="com.Gavin.jdomXpath.Test1"></bean>
            
    <bean id="com.Gavin.jdomXpath.Test2" class="com.Gavin.jdomXpath.Test2"></bean>
            
    <bean id="com.Gavin.jdomXpath.Test3" class="com.Gavin.jdomXpath.Test3"></bean>
            
    <bean id="com.Gavin.jdomXpath.Test4" class="com.Gavin.jdomXpath.Test4"></bean>
            
    <bean id="com.Gavin.jdomXpath.Test5" class="com.Gavin.jdomXpath.Test5"></bean>
        
    </beans>
    </sys-configure>

    package com.Gavin.jdomXpath;

    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;

    import org.apache.log4j.Logger;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    import org.jdom.xpath.XPath;


    public class GlobalConfigure {

        
    private static Logger logger = Logger.getLogger(GlobalConfigure.class);
        
        
    private static GlobalConfigure instance = new GlobalConfigure();
        
        
    private JdbcInfo jdbcInfo = new JdbcInfo();
        
        
    private Map<String, Object> beanMap = new HashMap<String, Object>();
        
        
    private static final String CONFIGE_FILE_NAME = "global_configure.xml";
        
        
    private Element rootElt;
        
        
    public static GlobalConfigure getInstance() {
            
    return instance;
        }

        
        
    private GlobalConfigure() {
            SAXBuilder sb 
    = new SAXBuilder();
            
    try {
                Document doc 
    = sb.build(Thread.currentThread().getContextClassLoader().getResourceAsStream(CONFIGE_FILE_NAME));
                
    this.rootElt = doc.getRootElement();
                initJdbcInfo();

                initBeans();
            }
     catch (JDOMException e) {
                e.printStackTrace();
            }
     catch (IOException e) {
                e.printStackTrace();
            }

        }

        
        
    public JdbcInfo getJdbcInfo() {
            
    return jdbcInfo;
        }

        
        
    public Object getBean(Class c) {
            
    return beanMap.get(c.getName());
        }

        
        
    private void initJdbcInfo() {
            
    try {
                Element driverClassNameElt 
    = (Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/driver-class-name");
                Element urlElt 
    = (Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/url");
                Element usernameElt 
    = (Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/username");
                Element passwordElt 
    = (Element)XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/password");
                logger.debug(urlElt.getText());
                jdbcInfo.setDriverClassName(driverClassNameElt.getText());
                jdbcInfo.setUrl(urlElt.getText());
                jdbcInfo.setUsername(usernameElt.getText());
                jdbcInfo.setPassword(passwordElt.getText());
            }
     catch (JDOMException e) {
                e.printStackTrace();
            }

        }

        
        
    private void initBeans() {
            
    try {
                List
    <Element> beanList = XPath.selectNodes(rootElt, "//sys-configure/beans/bean");
                
    for(Iterator<Element> it = beanList.iterator(); it.hasNext();) {
                    Element beanElt 
    = (Element)it.next();
                    String id 
    = beanElt.getAttributeValue("id");
                    String className 
    = beanElt.getAttributeValue("class");
                    
                    Object obj 
    = Class.forName(className).newInstance();
                    beanMap.put(id, obj);
                }
                
            }
     catch (JDOMException e) {
                e.printStackTrace();
            }
     catch (InstantiationException e) {
                e.printStackTrace();
            }
     catch (IllegalAccessException e) {
                e.printStackTrace();
            }
     catch (ClassNotFoundException e) {
                e.printStackTrace();
            }

        }

        
    public static void main(String[] args) {
            
            GlobalConfigure.getInstance().getJdbcInfo().toString();
            
    //        Test1 t = (Test1)GlobalConfigure.getInstance().getBean(Test1.class);
            
            System.out.println(
    "uuu");

        }

    }



    package com.Gavin.jdomXpath;

    public class JdbcInfo {
        
    private String driverClassName;
        
    private String url;
        
    private String username;
        
    private String password;
        
        
    public String getDriverClassName() {
            
    return driverClassName;
        }

        
    public void setDriverClassName(String driverClassName) {
            
    this.driverClassName = driverClassName;
        }

        
    public String getUrl() {
            
    return url;
        }

        
    public void setUrl(String url) {
            
    this.url = url;
        }

        
    public String getUsername() {
            
    return username;
        }

        
    public void setUsername(String username) {
            
    this.username = username;
        }

        
    public String getPassword() {
            
    return password;
        }

        
    public void setPassword(String password) {
            
    this.password = password;
        }

        
    public String toString() {
            
    return "JdbcInfo {driver-class-name:" + this.driverClassName
                
    + "url:" + this.url
                
    + "username:" + this.username
                
    + "password:" + this.password + "}";
        }

    }

    主站蜘蛛池模板: 亚洲AV本道一区二区三区四区 | 国产国产人免费人成免费视频| 亚洲av纯肉无码精品动漫| 亚洲AV中文无码乱人伦| 成人性做爰aaa片免费看| 久久亚洲精品专区蓝色区| 亚洲成A∨人片天堂网无码| 日本一道本不卡免费 | 国产成人精品日本亚洲网址| 四虎免费久久影院| 一区二区在线免费观看| 老司机亚洲精品影院在线观看| 亚洲国产精品久久久久网站| 国产网站免费观看| 国产人成免费视频网站| 久久精品免费网站网| 亚洲欧美日韩一区二区三区| 人人狠狠综合久久亚洲88| 韩国欧洲一级毛片免费 | 亚洲韩国精品无码一区二区三区 | 中文字幕免费不卡二区| 国产亚洲综合久久| 亚洲国产美女福利直播秀一区二区| 亚洲AV中文无码乱人伦| 成年男女男精品免费视频网站| 鲁丝片一区二区三区免费| 香蕉视频在线观看免费| 亚洲精品国产精品国自产网站| 国产成人精品日本亚洲| 亚洲成人一区二区| 日韩在线天堂免费观看| 免费专区丝袜脚调教视频| 国产成人精品免费视频大全| 亚洲欧好州第一的日产suv| 亚洲精品人成电影网| 久久亚洲高清观看| 在线亚洲精品自拍| 亚洲国产成人爱av在线播放| 免费人成视频在线| 91香蕉成人免费网站| 99热在线精品免费播放6|