使用 JAXB 框架定制 Web 服务行为
2010-03-25 00:00:00 来源:WEB开发网JAXB 框架
JAXB 框架概述
JAXB(Java Architecture for XML Binding)是由 J2EE 体系中标准的 XML schema 和 Java 数据绑定框架,开发者可以使用 JAXB 方便地在 Java 应用程序中进行 XML 数据和 Java 对象的转换。JAXB 提供了将 XML 文档解析为 Java 内容树的方法,以及将 Java 内容树重新写回 XML 文档的方法。同时 JAXB 还提供了基于 XML schema 生成 Java 类以及从 Java 类生成 XML schema 的支持。JAXB 框架分为以下三个组成部分:
schema 编译器:schema 编译器以 XML schema 为输入生成和 schema 相对应的 Java 类集,生成的 Java 类中会根据 schema 的结构自动包含了相应的 JAXB 注解。比方说 schema 里的一个元素映射的 Java 类会自动用 @XmlType 注解加以标注,一个元素的属性所映射的 Java 字段会自动用 @XmlElement 注解加以标注;
schema 生成器:schema 生成器以包含 JAXB 注解的 Java 类集为输入生成相应的 XML schema。比方说一个包含 @XmlType 注解的 Java 类在生成的 schema 中会被映射为一个元素;
JAXB 运行环境:JAXB 运行时环境提供了两个基本的操作用于 XML 文档的访问,操作以及验证等等:marshal、unmarshal,这两个操作也是 XML 和 Java 绑定的基础。Marshal 是指将一个内存对象以 XML 文档形式进行编组处理的过程,unmarshal 则是一个相反的过程,将一个 XML 文档解析为内存对象的过程。
图 2. JAXB 框架结构示意图
JAXB 的基础 -XML schema
XML schema 是 XML 文档的格式定义,是 DTD 的替代产品用于约束 XML 文档内容及结构,比如它定义了 XML 文档可以出现的元素,元素出现的顺序,元素具有的属性等。XML schema 本身就是一个 XML 文档,因此天然具有了 XML 的可扩展性。同时 XML schema 对 XML 数据类型提供了更为丰富的支持。JAXB 框架的基础就是 XML schema,一个使用 JAXB 的典型场合就是根据业务数据模型需要先写出 XML schema,然后利用 JAXB 框架的绑定编译器直接生成 XML 相应的 Java 类集。
更多精彩
赞助商链接