常见artifact的作用和适用场景介绍。
jaxb-api 是 Java 的一个标准库,全称是 Java Architecture for XML Binding API,即“Java XML 绑定架构 API”。
作用
JAXB 的主要作用是:
- 在 Java 对象和 XML 数据之间进行双向转换(序列化和反序列化)。
- 简单来说,就是可以把 Java 类对象转成 XML 文档,也可以把 XML 文档转回 Java 对象。
典型应用场景
- Web 服务(如 JAX-WS):SOAP WebService 通常用 JAXB 作为数据绑定工具。
- 配置文件处理:有些系统用 XML 配置,可以用 JAXB 直接映射为 Java 对象。
- 数据交换:需要和其他系统通过 XML 格式交换数据时。
主要功能
- Java 对象 → XML(编组,Marshalling)
- XML → Java 对象(解组,Unmarshalling)
你只需要在 Java 类上加一些注解(如 @XmlRootElement、@XmlElement),JAXB 就能自动完成转换。
例子
java
复制
@XmlRootElement
public class Person {
private String name;
private int age;
// getters/setters
}
编组(Java 对象转 XML):
java
复制
JAXBContext context = JAXBContext.newInstance(Person.class);
Marshaller marshaller = context.createMarshaller();
marshaller.marshal(new Person("Tom", 18), System.out);
解组(XML 转 Java 对象):
java
复制
Unmarshaller unmarshaller = context.createUnmarshaller();
Person p = (Person) unmarshaller.unmarshal(new File("person.xml"));
依赖说明
-
在 JDK 6/7/8,JAXB(包括
jaxb-api)是 JDK 自带的。 -
从 JDK 9 开始,JAXB 被移出了 JDK,需要手动添加依赖:
xml复制<dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>3.0.1</version> <!-- 或其他版本 --> </dependency>
总结
- jaxb-api 是 Java 和 XML 互相转换的标准 API。
- 用于对象和 XML 之间的序列化/反序列化。
- 常用于 WebService、配置处理、数据交换等场景。
如需 JAXB 使用示例或迁移建议,欢迎继续提问!
浙公网安备 33010602011771号