1. 程式人生 > >PropertySet教程-2.Memory、map、XML方式

PropertySet教程-2.Memory、map、XML方式

  PropertySet(來源:http://blog.csdn.net/inkfish) 是由opensymphony組織開發的的一個開源專案,但是那個專案文件少,長時間沒有更新,官方文件錯誤奇多,所以現在在專案中使用並不廣泛。但這並不妨礙PropertySet成為一個優秀的key-value持久化模組,當前,PropertySet可以說已經夠用。這裡我整理書寫了PropertySet的文件。(來源:http://blog.csdn.net/inkfish)

  PropertySet最容易使用和上手的是memory方式,最常用的是xml、JDBC,另外Hibernate、EJB是較常用的方式。這裡選擇介紹memory、map、XML方式。(來源:http://blog.csdn.net/inkfish)

1.Demo

PropertySetDemo.java

config.xml (XML形式下使用):

需要jar包:(來源:http://blog.csdn.net/inkfish)

   1.propertyset-1.3.jar

   2.propertyset中自帶的第三方jar包:oscore-2.2.1.jarcommons-logging-1.1.1.jar

   3.xml形式時需要使用的解析的包:xalan.jar

   4.其他demo程式用到的工具包:commons-lang-2.4.jarcommons-io-1.4.jar

2.memory方式 (來源:http://blog.csdn.net/inkfish)

  memory顧名思義,把資料存到記憶體裡,剛開始記憶體裡沒有東西,程式退出也不會儲存,適合於做demo性質的小專案。初始化使用簡單的“PropertySet ps = PropertySetManager.getInstance("memory", null); ”即可,然後就可以set和get,注意剛例項化裡面什麼資料都沒有,get不出來東西。(來源:http://blog.csdn.net/inkfish)

3.map方式 (來源:http://blog.csdn.net/inkfish)

  map和memory類似,也是使用記憶體存取資料,區別是map開始需要初始化一個map作為初始引數傳入,初始化程式碼:(來源:http://blog.csdn.net/inkfish)

  初始化過程的具體實現類是com.opensymphony.module.propertyset.map.MapPropertySet ,初始化過程:(來源:http://blog.csdn.net/inkfish)

  可以看出PropertySetManager.getInstance("map", map); 傳入的map裡可以巢狀一個key為"map",值為map型別的Map ,如果傳入的map是一個空的Map ,則初始化出一個HashMap 的示例,但千萬不能傳入null。初始化完畢後,就可以隨便使用。(來源:http://blog.csdn.net/inkfish)

4.XML方式 (來源:http://blog.csdn.net/inkfish)

  XML方式的初始化,一定是需要一個XML屬性檔案,屬性檔案的格式見上面的config.xml ,裡面支援的型別有booleanintlongdoubleStringtextDatePropertiesxml 、Object。xml和Object現在還沒研究透,實驗也沒完全成功,放一邊不說。Date型別的資料格式是yyyy-MM-dd HH:mm:ss ,寫死在PropertySet裡的。String和text幾乎一樣,都按照String處理,但是如果呼叫了save() 方法,text前後可能會加一些回車或空格,因此不建議使用text,如果需要使用,則在getText() 後需要trim() 一下。(來源:http://blog.csdn.net/inkfish)