輕松

          記述我學習java的里程

          常用鏈接

          統計

          積分與排名

          友情鏈接

          最新評論

          Commons 閱讀筆記 之 Configuration 篇

          ?訪問Properties格式的配置文件
          問題:
          希望能以精確類型的方式訪問到配置信息,而不僅僅是String類型。 
          解決方案:
          使用PropertiesConfiguration類可以加載并訪問properties格式的配置文件,并提供對數值型、數組型和List列表型配置信息的支持。
          比如,有如下的配置信息:

          speed=23.332
          names=Bob,Gautam,Jarret,Stefan
          correct=false


          可以像這樣來訪問他們:

          Configuration config = new PropertiesConfiguration(getClass()
              .getResource("/resources/config.properties"));

          float speed = config.getFloat("speed");
          List names = config.getList("names");
          boolean correct = config.getBoolean("correct");


          傳遞給PropertiesConfiguration構建函數的參數可以是文件名、可以訪問到文件的URL、以及文件本身(File對象)。當然,Properties類也可以完成同樣的事情,但只支持返回String類型的值。

          ?訪問XML格式的配置文件
          問題:
          希望使用XML格式的配置文件來配置應用程序。
          解決方案:

          Configuration config = new XMLConfiguration("resources/config.xml");
          List criterias = config.getList("start-criteria.criteria");
          String criteria = config.getString("start-criteria.criteria(0)");
          String type = config.getString("start-criteria.criteria(0)[@type]");//自己替換[]
          int horsepower = config.getInt("horsepower");


          使用XMLConfiguration類可以加載并訪問XML格式的配置文件,訪問配置信息使用的是XPath格式 (XPath請參數相應的XML文檔)。
          傳遞給XMLConfiguration構建函數的參數可以是文件名、可以訪問到文件的URL、以及文件本身(File對象)。

          ?訪問組合配置
          問題:
          有時候應用程序使用一種多層結構的配置方式,即上一層的配置可以被下一層選擇性地覆蓋。
          解決方案:
          configuration.xml

          <?xml version="1.0" encoding="ISO-8859-1" ?>
          <configuration>
           <properties fileName="user.properties" />
           <properties fileName="local.properties" />
           <properties fileName="global.properties" />
          </configuration>


          global.properties

          threads.max=50
          threads.min=2
          timeout=15.52
          interactive=true
          color=red
          speed=50
          name=Default User


          local.properties

          # Overrides Global Props
          threads.max=30
          speed=55


          user.properties

          # Overrides Local Props
          threads.min=1
          color=black
          speed=5000
          name=Sean



          ConfigurationFactory factory = new ConfigurationFactory();
          factory.setConfigurationURL(CfgTest3.class.getResource("/resources/configuration.xml"));
          Configuration config = factory.getConfiguration();

          // print out properties
          System.out.println("Timeout: " + config.getFloat("timeout"));
          System.out.println("Max Threads: " + config.getString("threads.max"));
          System.out.println("Name: " + config.getString("name"));
          System.out.println("Speed: " + config.getInt("speed"));


          創建一個聲明多個properties配置的configuration.xml文件,并傳遞給ConfigurationFactory,ConfigurationFactory解析這些properties配置,生成一個包含最終配置信息的Configuration實例,通過這個實例訪問到的配置信息,就是被覆蓋過的最終版本。
          上面實例中的configuration.xml文件由多個<properties/>元素組成,覆蓋的順序由上往下,也就是說user.properties會覆蓋local.properties,local.properties會覆蓋global.properties。
          其他:
          configuration.xml文件可以使用如下的元素來聲明配置文件:
          ?<properties/> 用于聲明properties格式的配置文件
          ?<xml/>用于聲明xml格式的配置文件
          除了可以訪問properties格式和xml格式的配置文件以外,Commons Configuration包還定義了JNDIConfiguration類來訪問JNDI樹格式的配置信息,具體的方法請參考其他相關文檔。

          posted on 2005-04-14 14:52 輕松 閱讀(3123) 評論(2)  編輯  收藏 所屬分類: JAVA轉貼

          評論

          # re: Commons 閱Configuration config = new PropertiesConfiguration(getClass()記 之 Configuration 篇 2007-04-05 14:58 Configuration config = new PropertiesConfiguration

          Configuration config = new PropertiesConfiguration(getClass()
          .getResource("/resources/config.properties"));

          這個里面的getClass().getResource()是哪兒來的?  回復  更多評論   

          # re: Commons 閱讀筆記 之 Configuration 篇 2007-08-14 14:50 同聲翻譯公司

          推薦一個免費的多語種互譯在線翻譯公司,在線翻譯網站www.165net.com,可進行十多種語言的互譯:漢語、英語、日語、德語、法語、俄語、韓語、意大利語、西班牙語、葡萄牙語、希臘語和荷蘭語等。同時該網站還提供人工翻譯服務,在全國各大城市都有辦事處。

          北京華譯網翻譯公司
          中國專家翻譯網
          地址:北京海淀區太陽園17號樓405室(北三環西路大鐘寺東側)郵編:100098
          電話:010-82115891 82115892 傳真010-82130386
          上海:上海漕溪北路38號20G?。|方商廈后面實業公寓南樓)
          電話:021-34240860 34240925 傳真:021-34240925

          同傳租賃 同聲傳譯翻譯公司 同聲傳譯設備租賃 同聲傳譯 同聲傳譯設備租賃 同傳租賃 北京同傳設備租賃 上海同聲傳譯設備租賃 同聲傳譯
            回復  更多評論   

          主站蜘蛛池模板: 平顺县| 芦山县| 三门县| 天门市| 芮城县| 华容县| 安康市| 特克斯县| 太保市| 卓资县| 西吉县| 乐至县| 建始县| 瑞昌市| 花莲县| 类乌齐县| 随州市| 邯郸市| 黄冈市| 依安县| 湟源县| 井冈山市| 博客| 五大连池市| 肥西县| 阳山县| 忻城县| 柯坪县| 彰化县| 娄烦县| 晋城| 凤阳县| 牡丹江市| 亳州市| 尉氏县| 高淳县| 卢龙县| 壤塘县| 南乐县| 阳高县| 库车县|