java框架---->Xstream的使用(一)
Xstream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称。今天我们就简单的学习一下xstream的用法。
Xstream的简单实例
项目的结构如下,设计到三个类:
一、maven中添加xstream的依赖
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
</dependency>
二、java中使用到的javaBean类
- PhoneNumber类:
public class PhoneNumber {
private int code;
private String number; public PhoneNumber(int code, String number) {
this.code = code;
this.number = number;
} public int getCode() {
return code;
} public void setCode(int code) {
this.code = code;
} public String getNumber() {
return number;
} public void setNumber(String number) {
this.number = number;
}
}
- Person类:
public class Person {
private String firstname;
private String lastname;
private PhoneNumber phone;
private PhoneNumber fax; public Person(String firstname, String lastname) {
this.firstname = firstname;
this.lastname = lastname;
} public String getFirstname() {
return firstname;
} public void setFirstname(String firstname) {
this.firstname = firstname;
} public String getLastname() {
return lastname;
} public void setLastname(String lastname) {
this.lastname = lastname;
} public PhoneNumber getPhone() {
return phone;
} public void setPhone(PhoneNumber phone) {
this.phone = phone;
} public PhoneNumber getFax() {
return fax;
} public void setFax(PhoneNumber fax) {
this.fax = fax;
}
}
三、我们的测试类XstreamMain
public class XstreamMain { public static void main(String[] args) {
XStream xstream = new XStream();
// XStream xstream = new XStream(new StaxDriver()); Person joe = new Person("Liu", "Ling");
joe.setPhone(new PhoneNumber(155, "1234-456"));
joe.setFax(new PhoneNumber(271, "9999-999")); String xml = xstream.toXML(joe);
System.out.println(xml); Person person = (Person) xstream.fromXML(xml);
System.out.println(person.getFirstname()); // Liu
}
}
四、程序的运行结果如下:
<com.linux.huhx.xstream.Person>
<firstname>Liu</firstname>
<lastname>Ling</lastname>
<phone>
<code>155</code>
<number>1234-456</number>
</phone>
<fax>
<code>271</code>
<number>9999-999</number>
</fax>
</com.linux.huhx.xstream.Person>
Liu
如果程序中XstreamMain类加上代码:xstream.alias("person", Person.class); 那么上述的<com.linux.huhx.xstream.Person>会被替换为:<person>
友情链接
java框架---->Xstream的使用(一)的更多相关文章
- 如何在Eclipse中查看JDK以及JAVA框架的源码(转载)
原文链接:http://www.cnblogs.com/outlooking/p/5243415.html 设置步骤如下: 1.点 “window”-> "Preferences&qu ...
- Java框架介绍-13个不容错过的框架项目
本文转自互联网,个人收藏所用. 下面,我们将一同分享各有趣且颇为实用的Java库,大家请任取所需.不用客气~ 1.极致精简的Java Bootique是一项用于构建无容器可运行Java应用的极简技术. ...
- 如何查看JDK以及JAVA框架的源码
如何查看JDK以及JAVA框架的源码 设置步骤如下: 1.点 “window”-> "Preferences" -> "Java" -> &q ...
- 对java框架的几点认识
java框架实在是太多了,网上一抄一大段,根本就了解不到什么.我还是以我的经验来说一下j2ee的框架.1.首先力推struts2框架,这是最经典的框架(可以说没有“之一”).可以帮你快速搭建出一个MV ...
- 最简单的Java框架
框架framework的目的是定义骨架式方案,处理各种相同的底层细节:而开发人员使用框架时,能够依照自己的需求实现自己的功能--仅仅须要填入自己的东西/flesh. 最简单的框架,类似于JUnit,它 ...
- 2016年7款最流行的Java框架
虽然Java一直被唱衰,但是直到现在Java也坚持霸主地位不动摇,毫无疑问,Java是目前最热门的编程语言之一,所以我们为大家搜集了一些目前比较受欢迎的Java框架的消息. 根据RebelLabs对在 ...
- Java框架spring Boot学习笔记(六):Spring Boot事务管理
SpringBoot和Java框架spring 学习笔记(十九):事务管理(注解管理)所讲的类似,使用@Transactional注解便可以轻松实现事务管理.
- Java框架spring 学习笔记(十八):事务管理(xml配置文件管理)
在Java框架spring 学习笔记(十八):事务操作中,有一个问题: package cn.service; import cn.dao.OrderDao; public class OrderSe ...
- Java框架spring 学习笔记(十四):注解aop操作
回见Java框架spring Boot学习笔记(十三):aop实例操作,这里介绍注解aop操作 首先编写一个切入点HelloWorld.java package com.example.spring; ...
随机推荐
- 使用C#创建windows 服务
创建项目选择Windows Service 创建好项目之后,在生成的Service1.cs的设计页面右键选择Add Installer,会生成一个ProjectInstaller.cs.这个文件中有两 ...
- 制作Windows Server 2008安装启动U盘
昨天刚下了Windows server 2008因为没有刻录机,所以我就用2G U盘把Windows server 2008光盘镜像做成U盘安装效果和光盘安装一样. 下面就是制作方法: UltraIS ...
- javascript商务通
//左侧就医服务新 document.write("<style type='text/css'>"); document.write(".left_swt{ ...
- r语言与dataframe
什么是DataFrame 引用 r-tutor上的定义: DataFrame 是一个表格或者类似二维数组的结构,它的各行表示一个实例,各列表示一个变量. 没错,DataFrame就是类似于Excel表 ...
- ubuntu之Matlab安装
(清华大学校内适用) 1.首先下载Matlab镜像:http://its.tsinghua.edu.cn/column/jsrj/1,一共有两个ios文件. 2.然后执行 cd ~ mkdir mat ...
- Convolution Network及其变种(反卷积、扩展卷积、因果卷积、图卷积)
今天,主要和大家分享一下最近研究的卷积网络和它的一些变种. 首先,介绍一下基础的卷积网络. 通过PPT上的这个经典的动态图片可以很好的理解卷积的过程.图中蓝色的大矩阵是我们的输入,黄色的小矩阵是卷积核 ...
- sendEvent()
sendEvent()(QObject *receiver, QEvent *event)可以将自己创建事件event发送给制定的receiver 例如, //创建按键事件 QKeyEvent key ...
- strcpy、strncpy、memcpy的区别
一.strcpy.strncpy区别 struct gpInfo { char gpcode[9]; char gpName[50]; }; string gpstr = "SZ000001 ...
- Unity使用JsonFX插件进行序列化
孙广东 2015.6.25 Unity and JSON – Quick Guide: 相比較XML的沉重和密集,Json更加高效. Introduction: 什么是 Json ?假设你从未使用过 ...
- 真想用c#开发个 wp五笔输入法。。。奈何网上资料太少,源码都是c++写的。求大神指点!!!
真想用c#开发个 wp五笔输入法...奈何网上资料太少,源码都是c++写的.求大神指点!!!!