<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免费放dvd| xxxxx做受大片视频免费| 妞干网在线免费观看| 亚洲成年人电影网站| 18禁免费无码无遮挡不卡网站| 无码乱人伦一区二区亚洲一 | 亚洲精品高清一二区久久| 亚洲1区2区3区精华液| 国产一级高清视频免费看| 在线观看免费亚洲| 亚洲日本一线产区和二线产区对比| 亚洲一区二区三区免费观看| 亚洲一区二区影视| 丁香花在线视频观看免费| 亚洲大尺度无码专区尤物| 无人视频免费观看免费视频| 日韩免费一区二区三区在线播放| 亚洲网站免费观看| 福利免费在线观看| 四虎成人免费观看在线网址 | 国产精品亚洲精品日韩已方| 亚洲伊人色一综合网| 免费无码精品黄AV电影| 亚洲成a人片在线网站| 毛片a级毛片免费观看品善网| 国产精品日本亚洲777| 亚洲一区精品伊人久久伊人| 久久精品私人影院免费看| 国产偷国产偷亚洲清高动态图 | 国产精品亚洲专区一区| 超清首页国产亚洲丝袜| 青青免费在线视频| 国产成人精品日本亚洲| 亚洲免费综合色在线视频| 全黄A免费一级毛片| 亚洲免费在线播放| 四虎在线播放免费永久视频 | 国产免费福利体检区久久| 亚洲黄色在线观看| 国产又粗又长又硬免费视频 |