<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 + "}";
        }

    }

    主站蜘蛛池模板: 国产大片线上免费看| 亚洲人成电影网站国产精品| 女人18毛片免费观看| 日韩国产欧美亚洲v片 | 久久亚洲欧美国产精品| 国产一区二区视频免费| 久久免费高清视频| 自拍日韩亚洲一区在线| 亚洲线精品一区二区三区影音先锋 | 日本一道本高清免费| 成人免费一区二区三区| 亚洲卡一卡2卡三卡4麻豆| 亚洲一级Av无码毛片久久精品| 亚洲综合久久夜AV | 99ee6热久久免费精品6| 国产成人 亚洲欧洲| 亚洲国产高清在线精品一区| 国产又粗又猛又爽又黄的免费视频| 亚洲精品无码中文久久字幕| 亚州免费一级毛片| 视频免费1区二区三区| jlzzjlzz亚洲乱熟在线播放| 国产成人免费网站| 成全高清在线观看免费| 亚洲视频网站在线观看| 亚洲精品国产电影| 免费无码精品黄AV电影| 一个人免费日韩不卡视频| 日本特黄特色AAA大片免费| 激情综合亚洲色婷婷五月 | 国产亚洲精品资在线| 成人黄色免费网站| 国产免费爽爽视频在线观看| WWW国产亚洲精品久久麻豆| 亚洲午夜久久久精品电影院| 亚洲区小说区图片区QVOD| 免费国产高清视频| 黄a大片av永久免费| 久久99九九国产免费看小说| 特级精品毛片免费观看| a级毛片100部免费观看|