PropertySet教程-2.Memory、map、XML方式
PropertySet 是由opensymphony組織開發的的一個開源專案,但是那個專案文件少,長時間沒有更新,官方文件錯誤奇多,所以現在在專案中使用並不廣泛。但這並不妨礙PropertySet成為一個優秀的key-value持久化模組,當前,PropertySet可以說已經夠用。這裡我整理書寫了PropertySet的文件。
PropertySet最容易使用和上手的是memory方式,最常用的是xml、JDBC,另外Hibernate、EJB是較常用的方式。這裡選擇介紹memory、map、XML方式。
1.Demo
PropertySetDemo.java
config.xml
(XML形式下使用):
需要jar包:
1.propertyset-1.3.jar
2.propertyset中自帶的第三方jar包:oscore-2.2.1.jar
、commons-logging-1.1.1.jar
3.xml形式時需要使用的解析的包:xalan.jar
4.其他demo程式用到的工具包:commons-lang-2.4.jar
、commons-io-1.4.jar
2.memory方式
memory顧名思義,把資料存到記憶體裡,剛開始記憶體裡沒有東西,程式退出也不會儲存,適合於做demo性質的小專案。初始化使用簡單的“PropertySet ps = PropertySetManager.getInstance("memory", null);
”即可,然後就可以set和get,注意剛例項化裡面什麼資料都沒有,get不出來東西。
3.map方式
map和memory類似,也是使用記憶體存取資料,區別是map開始需要初始化一個map作為初始引數傳入,初始化程式碼:
初始化過程的具體實現類是com.opensymphony.module.propertyset.map.MapPropertySet
,初始化過程:
可以看出PropertySetManager.getInstance("map", map);
傳入的map裡可以巢狀一個key為"map",值為map型別的Map
,如果傳入的map是一個空的Map
,則初始化出一個HashMap
的示例,但千萬不能傳入null。初始化完畢後,就可以隨便使用。
4.XML方式
XML方式的初始化,一定是需要一個XML屬性檔案,屬性檔案的格式見上面的config.xml
,裡面支援的型別有boolean
、int
、long
、double
、String
、text
、Date
、Properties
、xml
、Object。xml和Object現在還沒研究透,實驗也沒完全成功,放一邊不說。Date型別的資料格式是yyyy-MM-dd HH:mm:ss
,寫死在PropertySet裡的。String和text幾乎一樣,都按照String處理,但是如果呼叫了
save()
方法,text前後可能會加一些回車或空格,因此不建議使用text,如果需要使用,則在getText()
後需要trim()
一下。