PropertySet教程 2.Memory、map、XML方式
inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish
)。
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
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.HashMap;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import com.opensymphony.module.propertyset.PropertySet;
import com.opensymphony.module.propertyset.PropertySetManager;
import com.opensymphony.module.propertyset.xml.XMLPropertySet;
public class PropertySetDemo {
public static void main(String[] args) throws Exception {
PropertySetDemo demo = new PropertySetDemo();
demo.mapPsDemo();
demo.memoryPsDemo();
demo.xmlPsDemo();
}
public void memoryPsDemo() {
System.out.println(StringUtils.center("Memory PropertySet Demo", 80, '*'));
//memory是配置文件中定义的:<propertyset name="memory" class="com.opensymphony.module.propertyset.memory.MemoryPropertySet"/>
PropertySet ps = PropertySetManager.getInstance("memory", null);
ps.setBoolean("BooleanPS", true);
ps.setString("name", "Tom");
System.out.println(ps.getBoolean("BooleanPS"));
System.out.println(ps.getString("name"));
System.out.println(StringUtils.repeat("*", 80));
}
public void mapPsDemo() {
System.out.println(StringUtils.center("Map PropertySet Demo", 80, '*'));
@Sup
相关文档:
有人会问,DTD和Schema都是对XML文档的一种约束,为什么不就选其中之一,而又有Schema呢。因为DTD安全度太低了,也就是说它的约束定义能力不足,无法对XML实例文档做出更细致的语义限制。其实细心的人会发现,在DTD中,只有一个数据类型,就是PCDATA(用在元素中)和CDATA(用在属性中),在里面写日期也行,数字还行,字符 ......
/// <summary>
/// 读取数据集并加入缓存
/// sea 2009-12-11
/// </summary>
&nb ......
XML解析器的作用:为应用程序从XML文件中解析出所需要的数据。
下面通过一个例子,来了解,如何用XML解析器,来解析一个XML文件中的数据。
1、Types.xml(显示吉他的类别)
<?xml version="1.0" encoding="UTF-8"?>
<types>
<name>电吉他
<music>玩摇滚</music>
</name>
......
1、安装DOM4j
http://www.dom4j.org/
2、安装jaxen
http://jaxen.org/releases.html
3、代码
package extract;
import java.io.*;
import org.dom4j.*;
import org.dom4j.io.*;
import java.util.*;
public class XmlExtract {
private SAXReader reader;
private Docum ......
/* Author: 杨宇 yangyu@sina.cn */
/*
用法示例:
$cls_xml = new cls_xml();
if ($array){
$cls_xml->array2xml($array);
echo $cls_xml->getXml();
}else{
echo '';
}
*/
class cls_xml{
var $xml;
&nbs ......