`
_mjhx
  • 浏览: 8929 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

JAXB 的 hello world 示例

    博客分类:
  • jaxb
阅读更多
JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以 及反向操作,将XML解析成Java对象。换句话说,JAXB允许以XML格式存储和读取数据,而不需要程序的类结构实现特定的读取XML和保存XML的 代码。



Customer.java
package com.mkyong.core;
 
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
 
@XmlRootElement
public class Customer {
 
	String name;
	int age;
	int id;
 
	public String getName() {
		return name;
	}
 
	@XmlElement
	public void setName(String name) {
		this.name = name;
	}
 
	public int getAge() {
		return age;
	}
 
	@XmlElement
	public void setAge(int age) {
		this.age = age;
	}
 
	public int getId() {
		return id;
	}
 
	@XmlAttribute
	public void setId(int id) {
		this.id = id;
	}
 
}



JAXBExample.java
package com.mkyong.core;
 
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
 
public class JAXBExample {
	public static void main(String[] args) {
 
	  Customer customer = new Customer();
	  customer.setId(100);
	  customer.setName("mkyong");
	  customer.setAge(29);
 
	  try {
 
		File file = new File("C:\\file.xml");
		JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
		Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
 
		// output pretty printed
		jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
 
		jaxbMarshaller.marshal(customer, file);
		jaxbMarshaller.marshal(customer, System.out);
 
	      } catch (JAXBException e) {
		e.printStackTrace();
	      }
 
	}
}


输出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customer id="100">
    <age>29</age>
    <name>mkyong</name>
</customer>


将XML转为对象
package com.mkyong.core;
 
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
 
public class JAXBExample {
	public static void main(String[] args) {
 
	 try {
 
		File file = new File("C:\\file.xml");
		JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
 
		Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
		Customer customer = (Customer) jaxbUnmarshaller.unmarshal(file);
		System.out.println(customer);
 
	  } catch (JAXBException e) {
		e.printStackTrace();
	  }
 
	}
}


输出

Customer [name=mkyong, age=29, id=100]


文章转自:http://www.oschina.net/code/snippet_12_5581
分享到:
评论

相关推荐

    JAXB的HelloWorld源码

    在压缩包文件`JAXB-master`中,可能包含了完整的JAXB HelloWorld示例项目,包括Java源代码、XML示例文件以及可能的构建脚本(如`build.xml`,如果是Ant项目,或`pom.xml`,如果是Maven项目)。通过研究这些文件,...

    Apache CXF之helloworld

    通过这个helloworld示例,你可以学习到如何设置CXF环境、创建服务接口、实现服务逻辑、发布服务以及生成和使用客户端代码。这将为你进一步深入学习CXF的高级特性,如WS-Security、MTOM/XOP、JAXB数据绑定等奠定基础...

    Web service之CXF-helloworld DEMO

    在我们的"helloWorld"项目中,可能包含了服务接口、实现类、配置文件以及可能的测试客户端代码。通过这个简单的DEMO,你可以了解到如何使用Apache CXF构建Web服务,并进行基本的交互。随着对CXF的进一步学习,你还...

    xfire的一个helloworld

    标题 "xfire的一个helloworld" 暗示我们即将探讨的是关于XFire框架的一个简单示例应用。XFire是一款早期的Java SOAP服务框架,后来发展成为Apache CXF的一部分。这个"Hello World"程序通常用于介绍如何使用XFire来...

    CXF 2.3 集成Spring3.0入门 HelloWorld

    标题 "CXF 2.3 集成Spring3.0入门 HelloWorld" 指向的是一个关于如何在Java项目中使用Apache CXF 2.3版本与Spring 3.0框架进行集成的教程,特别是通过一个简单的"Hello World"应用来演示这个过程。Apache CXF是一个...

    jersey-client-helloworld:泽西岛客户示例

    **泽西岛(Jersey)客户端HelloWorld示例** 泽西岛(Jersey)是Java的一个开源RESTful Web服务框架,由Sun Microsystems(现已被Oracle收购)开发,它基于JSR 311和JSR 339标准。本示例主要介绍如何使用泽西岛...

    JAX-WS开发webservice示例详解

    HelloWorld helloWorld = service.getHelloWorldPort(); String response = helloWorld.sayHello("World"); System.out.println(response); // 输出 "Hello, World" ``` **4. JAX-WS高级特性** JAX-WS还支持一些...

    Metro WebServices 示例

    1. `HelloWorld.java` - 这是服务端的核心类,可能包含一个简单的“sayHello”方法,返回一条问候消息。 2. `HelloWorldService.java` - 这是自动生成的服务端端点类,用于启动Web服务并处理客户端请求。 3. `...

    jdk21集成cxf示例程序

    address="/HelloWorld"/&gt; ``` 6. **部署与运行**:将配置好的CXF应用打包成WAR文件,然后部署到支持Servlet 3.0以上的应用服务器,如Tomcat、Jetty等。启动服务器,Web服务就会在指定的URL上运行。 7. **测试...

    ApacheCXFBook源码

    - **HelloWorld示例**:最基础的示例,展示如何创建一个简单的服务并调用。 - **数据绑定示例**:展示如何通过JAXB将Java对象转换为XML消息,反之亦然。 - **RESTful服务示例**:展示如何使用CXF创建和消费...

    java webservice server and client

    HelloWorld client = (HelloWorld) factory.create(); String response = client.sayHello("World"); System.out.println(response); ``` 四、WSDL和SOAP: 在上述示例中,我们没有直接涉及WSDL。然而,WSDL是Web...

    Webservices XFire框架的搭建与使用

    public class HelloWorldImpl implements HelloWorld { public String sayHello(String name) { return "Hello, " + name; } } ``` 5. **配置并启动XFire服务**:创建一个服务器实例,注册服务并启动。可以使用`...

    使用-Spring-3-来创建-RESTful-Web-Services

    本文将介绍使用 Spring 3 创建 RESTful Web Services 的方法,并提供了一个简单的 “Hello World” 示例应用。 Spring 3 中的 REST 支持 在 Spring 3 中,REST 支持被无缝整合到 MVC 层中,可以很容易地应用到使用...

    一个WEB SERVICE应用的例子

    6. **HelloWorld示例**:通常在编程学习中,“Hello, World!”是最基础的示例,用于展示语言的基本语法。在WEB服务的上下文中,"HelloWorld"可能是一个简单的服务,它接收请求并返回一个包含“Hello, World!”的...

    webservice小示例

    &lt;servlet-name&gt;HelloWorld &lt;servlet-class&gt;com.sun.jersey.server.impl.container.servlet.ServletContainer&lt;/servlet-class&gt; &lt;param-name&gt;com.sun.jersey.config.property.packages&lt;/param-name&gt; ...

    将铲子朝向JAX-WS

    HelloWorld service = new HelloWorld_Service().getHelloWorldPort(); String response = service.sayHello("World"); System.out.println(response); // 输出 "Hello, World" ``` **五、JAX-WS与JAX-RS的比较** ...

    WebService之Axis2经典教程

    HelloWorld helloWorld = new HelloWorld_Service(url, qname).getHelloWorldPort(); String result = helloWorld.getHelloWorldAsString("World"); System.out.println(result); ``` #### 五、高级功能介绍 -...

    cxf环境变量配置以及命令

    2. **定义接口**:使用 `@WebService` 注解定义 Web Service 接口,例如 `HelloWorld` 接口: ```java @WebService public interface HelloWorld { public String sayHello(String text); } ``` 3. **实现接口**:...

    WebService CXF学习-入门篇.pdf

    **四、入门实践——HelloWorld示例** 为了快速上手,我们可以创建一个简单的"HelloWorld"示例。首先,从Apache官方网站下载CXF的最新版本,例如这里使用的是2.2.2版本。然后,在Java项目中引入必要的依赖库,包括...

    java实现webservice实例.pdf

    例如,上面的`server-config.wsdd`文件展示了如何配置一个名为`HelloWorld`的服务,指定其使用`RPC`提供者,并指明了服务类和允许的方法。 7. **启动和测试Web服务** 启动Tomcat服务器,然后可以通过SOAP客户端...

Global site tag (gtag.js) - Google Analytics