扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者: jakarta99 来源:CSDN 2008年1月2日
关键字: configuration 設定檔 存取 透過
什麼叫做一個設定檔?簡單來說,一個設定檔最重要的就是有屬性名稱與屬性值,通常都是利用 String 的方式來存取,必要時候再進行轉換物件型態為實質的屬性型態。話說回來,現在設定檔的撰寫方式琳瑯滿目,Jakarta commons-configuration 是否可以滿足我們的需求?我本身大多採用 Properties 或 XML 的方式在撰寫設定檔,也許會有人將設定在資料庫之中,很令人高興的是 commons-configuration 的確可以涵蓋大多數人的需求。
由 http://jakarta.apache.org/commons/configuration/ 下載最新的版本,將它解壓縮到一個目錄之後,我們可以看到該目錄之中,有一個 commons-configuration-##.##.jar 並且將該 jar 檔案放到你的 /WEB-INF/lib/ 之下,當 Application Server 重新載入該 webapp 之後, 就代表可以使用了。
因為 Servlet 可以設定在 webapp 啟動的同時,馬上呼叫。只需要在 web.xml 設定 load-on-startup 即可,所以我們利用該技巧,將相關的設定屬性值在剛開始的時候取出放到某個 instance 之中,這樣就可以提供給其他程式直接使用。
範例 1-1:透過 SystemInitServlet 載入 system-config.xml
system-config.xml 放在 /WEB-INF/conf 之下
接著再利用 SystemInitServlet 中利用 XMLConfiguratin 取得 system-config.xml Configuration config = new XMLConfiguration (configPath);
這樣,我就可以自由利用這幾個設定在 system-config.xml 的屬性,進行系統中的設定。
範例 1-2:透過 SystemInitServlet 載入 system-config.properties
其實我們僅僅需要修改 Configuration 讀取的檔案位置,並且修改為 properties 檔案名稱。最後利用 PropertiesConfiguration 就可以讀取相關的資訊,也可以讀取 Collection 型態的集合屬性。
Configuration config = new PropertiesConfiguration(configPath);
另外,我們可以 config.setProperties(“addproperty”, “this is added by configuration” ); 接著 config.save() 將相關設定值存放到該 properties 的檔案之中。
總之,透過 commons-configuration 可以簡化您在存取設定檔案的工作,就不用花時間去了解 FILE IO 的程式運作方式,更可以簡化 Java 存取 XML 的工作。 當然,隨著版本的演進,功能越來越多,例如兩個設定檔的合併、plist 的支援等等,所以可預期的是,我們將可以用到更多支援的設定檔方式。
查看本文来源
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者