`

JAXB之helloworld

阅读更多
  JAXB是将JAVA对象序列化为XML,XML反序列化为JAVA对象的好东西,在JDK 1.6中,
已经自带了,不用另外再下载包,如果是小于1.6,则需要到这里下载(http://jaxb.java.net/),本文复习下简单的JAXB.

1 一个POJO对象,将set方法用annotation打上注释即可
  
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;
	}



2 序列化程序
   
   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>

3 反过来序列化
   
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();
	  }
 
	}
}


分享到:
评论

相关推荐

    JAXB的HelloWorld源码

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

    Apache CXF之helloworld

    这个"Apache CXF之helloworld"示例旨在帮助初学者理解如何使用CXF来创建和消费简单的Web服务。CXF允许开发者通过Java API(如JAX-WS和JAX-RS)来定义服务接口,并自动将其转换为HTTP服务。 首先,我们来了解一下CXF...

    Web service之CXF-helloworld DEMO

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

    webservice xfire helloworld详细图解

    【Web Service和XFire HelloWorld详解】 Web Service是一种跨平台、跨语言的通信标准,它允许不同系统间的应用程序通过网络进行交互。W3C为Web Service制定了两大核心标准:SOAP(Simple Object Access Protocol)...

    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标准。本示例主要介绍如何使用泽西岛...

    java webservice server and client

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

    advancedXml:JAXB 和 Web 服务

    public class HelloWorldImpl implements HelloWorld { @Override public List&lt;String&gt; sayHello(List&lt;String&gt; names) { // 实现逻辑 } } ``` 在这个例子中,`sayHello`方法返回的`List&lt;String&gt;`将被自动转换为...

    JAX-WS使用教程(内含jar包)

    HelloWorld proxy = new HelloWorld_Service().getHelloWorldPort(); System.out.println(proxy.sayHello("World")); } } ``` **四、JAX-WS高级特性** 1. **数据绑定**:JAXB(Java Architecture for XML ...

    Webservices XFire框架的搭建与使用

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

    JAX-WS开发webservice示例详解

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

    WebService之Axis2经典教程

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

    CXF框架webservice教程.pdf

    HelloWorld proxy = (HelloWorld) factory.create(); System.out.println(proxy.sayHello("World")); } } ``` 当你运行`HelloWorldClient`时,它会调用服务器上的`sayHello`方法,并打印出结果。 总结来说,...

    jdk21集成cxf示例程序

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

    (二)Java EE 5实现Web服务(Web Services)及多种客户端实例-实现Web服务.rar

    HelloWorld helloWorld = service.getHelloWorldPort(); String response = helloWorld.sayHello(); System.out.println(response); ``` 除了基本的SOAP通信,Java EE 5也支持RESTful Web服务,通过JAX-RS(Java ...

    cxf webservice 应用

    &lt;jaxws:endpoint id="helloWorldEndpoint" implementor="#helloWorld" address="/HelloWorld"/&gt; ``` 3.4 调用服务 客户端可以通过CXF的JAXB或者SOAP客户端API来调用服务,或者直接使用HTTP请求调用RESTful服务。 ...

    CXF框架快速起步1

    &lt;jaxws:endpoint id="helloWorld" implementor="#helloWorldImpl" address="/HelloWorld"/&gt; ``` 5. **部署与测试** 将项目打包为WAR文件,部署到Tomcat或其他Servlet容器中。通过浏览器访问`...

    java实现webservice实例.pdf

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

    apache-cxf-3.2.4完整版

    &lt;jaxws:endpoint id="helloWorld" implementor="#helloWorld" wsdlLocation="HelloWorld.wsdl" address="/HelloWorld" /&gt; ``` Apache CXF-3.2.4是一个强大的Web服务框架,它为开发者提供了丰富的工具和功能来...

Global site tag (gtag.js) - Google Analytics