JAXB是Java Architecture for XML Binding的缩写。可以将一个Java对象转变成为XML格式,反之亦然。
我们把对象与关系数据库之间的映射称为ORM,其实也可以把对象与XML之间的映射称为OXM(Object XML Mapping)。原来JAXB是Java EE的一部分,在JDK1.6中,SUN将其放到了Java SE中,这也是SUN的一贯做法。JDK1.6中自带的这个JAXB版本是2.0,比起1.0(JSR 31)来,JAXB2(JSR 222)用JDK5的新特性Annotation来标识要作绑定的类和属性等,这就极大简化了开发的工作量。
二、jaxb应用模式
在JAVA EE 5\6中,jaxb可以很方便的与jax-rs、jax-ws集成,极大的简化了web service接口的开发工作量。
三、需要的JAR包:eclipselink
你需要在eclipse中你的项目中引入支持jaxb的jar包,目前的eclipselink2.5.2 or 2.6.x都支持它,下载page如下
https://www.eclipse.org/eclipselink/downloads/prevIoUs_releases.PHP
或者利用"eclipse marketplace" or "install new software" 去自动安装即可。
而且这个jar可以支持JPA等,不错的工具。
jaxb代码举例
第一步:需要引入eclipselink等支持JAXB的包
第二步:编写java bean;
- packagecom.mkyong.core;
- importjavax.xml.bind.annotation.XmlAttribute;
- importjavax.xml.bind.annotation.XmlElement;
- importjavax.xml.bind.annotation.XmlRootElement;
- @XmlRootElement
- publicclassCustomer{
- Stringname;
- intage;
- intid;
- publicStringgetName(){
- returnname;
- }
- @XmlElement
- voidsetName(Stringname){
- this.name=name;
- }
- intgetAge(){
- returnage;
- @XmlElement
- voidsetAge(intage){
- this.age=age;
- intgetId(){
- returnid;
- @XmlAttribute
- voidsetId(intid){
- this.id=id;
- }
第三步:main方法把java bean转化为xml字符串
copy