JAXB的基本应用

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());
		
	}

你可能感兴趣的:(JAXB)