`
ll_feng
  • 浏览: 383048 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAXB的基本应用

    博客分类:
  • j2ee
 
阅读更多
JAXB(Java API for XML Binding)是JAX-WS规范中的一项数据绑定技术.
作用是在客户端与服务端通讯时将java对象特别是复杂对象解析成xml格式的soap包。通过http协议进行传输。
JAXB通过Marshal/unMarshal进行对象的编码和解码。
JAXB同时提供了一组注解
1、@XmlRootElement
把一个java类映射为xml根节点

2、@XmlElement
把一个java的属性映射为xml的一个element

3、@XmlAccessorType
与@XmlRootElement配合使用,通过XmlAccessType定义映射策略
@XmlAccessorType(XmlAccessType.PROPERTY):只映射有getter/setter方法的属性

4、@XmlTransient
指定属性不需要映射为xml

5、@XmlJavaTypeAdapter
java对象与xml进行转换的适配器

jaxb的示例代码
	public static void main(String[] args) throws JAXBException {
		JAXBContext ctx = JAXBContext.newInstance(User.class);
		
		Marshaller marshaller = ctx.createMarshaller();
		Unmarshaller unmarshaller = ctx.createUnmarshaller();
		
		//将java对象编码为xml
		User user = new User();
		marshaller.marshal(user, System.out);	
		
		//将xml编码为java对象
		String xml = "<user><name>zhangsan</name><age>20</age></user>";
		User user2 = (User)unmarshaller.unmarshal(new StringReader(xml));
		System.out.println(user2.getName());
		
	}
分享到:
评论

相关推荐

    Spring3.x企业应用开发实战(完整版) part1

    14.3.1 JAXB 14.3.2 XMLBeans 14.3.3 Castor 14.3.4 JiBX 14.3.5 总结比较 14.4 与Spring OXM整合 14.4.1 Spring OXM概述 14.4.2 整合OXM实现者 14.4.3 如何在Spring中进行配置 14.4.4 Spring OXM 简单实例 14.5 小...

    Spring.3.x企业应用开发实战(完整版).part2

    14.3.1 JAXB 14.3.2 XMLBeans 14.3.3 Castor 14.3.4 JiBX 14.3.5 总结比较 14.4 与Spring OXM整合 14.4.1 Spring OXM概述 14.4.2 整合OXM实现者 14.4.3 如何在Spring中进行配置 14.4.4 Spring OXM 简单实例 14.5 小...

    xml-processor-example:JavaFX应用程序实现示例XML处理应用程序

    xml处理器示例 JavaFX应用程序实现示例XML处理应用程序 主要功能: 使用JAXB的XML对象绑定 基本的CRUD操作 XML模式验证 XML到PDF的转换

    spring加载restful(文档+程序源码)

    spring加载restful(文档+程序源码) ...然后我们再完成一个更复杂的应用来了解Spring 3 REST支持的重要概念,如多种MIME类型表示支持和JAXB支持。另外,本文还使用一些代码片断来帮助理解这些概念。

    Java SE实践教程 源代码 下载

    9.2.2 我的联系手册(JAXB实现) 238 9.3 小结 242 第10章 准备环球旅行——应用程序国际化 243 10.1 讲解 244 10.1.1 概念介绍 244 10.1.2 设置Locale 249 10.1.3 隔离语言环境相关数据 252 10.1.4 格式化 ...

    Java SE实践教程 pdf格式电子书 下载(一) 更新

    9.2.2 我的联系手册(JAXB实现) 238 9.3 小结 242 第10章 准备环球旅行——应用程序国际化 243 10.1 讲解 244 10.1.1 概念介绍 244 10.1.2 设置Locale 249 10.1.3 隔离语言环境相关数据 252 10.1.4 格式化 ...

    Java SE实践教程 pdf格式电子书 下载(四) 更新

    9.2.2 我的联系手册(JAXB实现) 238 9.3 小结 242 第10章 准备环球旅行——应用程序国际化 243 10.1 讲解 244 10.1.1 概念介绍 244 10.1.2 设置Locale 249 10.1.3 隔离语言环境相关数据 252 10.1.4 格式化 ...

    halite:用于 XML 和 JSon 的超文本应用程序语言的 Java 实现

    Halite 允许使用 XSD 模式或 JAXB 扩展由资源和链接对象形成的基本模型,并在此模型上操作以添加链接或嵌入资源。 模型对象可以轻松转换为 xml+hal 或 json+hal。 例子 创建资源 Resource resource = HAL . new...

    basejava:居鲁士(Cyrus)

    该应用程序将从第一堂课开始,根据课程的基本主题进行开发:对象模型,集合,I / O系统,使用文件,序列化,使用XML,JSON,SQL,对数据库的持久性(PostgreSQL ),servlet,HTML / JSP / JSTL,Tomcat Web容器,...

    JAVA_API1.6文档(中文)

    javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合...

    ToSpeak - Learn a new language-开源

    ToSpeak是一款旨在帮助用户学习某些外语的基本单词和短语的应用程序。 活动包括抽认卡,测验,字母练习和子手。 用Java和XML和JAXB编写。

    java api最新7.0

    javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两...

    JavaAPI1.6中文chm文档 part1

    javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合...

    [Java参考文档].JDK_API 1.6

    javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两...

    [Java参考文档]

    javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合...

    JavaAPI中文chm文档 part2

    javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合...

    Java 1.6 API 中文 New

    javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两...

Global site tag (gtag.js) - Google Analytics