springboot 实体转xml
时间: 2023-10-09 14:05:31 浏览: 41
在Spring Boot中,可以使用JAXB(Java Architecture for XML Binding)或者Jackson Dataformat XML来将Java实体对象转换为XML数据。
使用JAXB:
1. 首先,在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.1</version>
</dependency>
```
2. 创建一个实体类,使用JAXB注解标识需要绑定的XML元素或属性。
```java
@XmlRootElement(name = "user")
@XmlAccessorType(XmlAccessType.FIELD)
public class User {
@XmlElement
private String name;
@XmlElement
private int age;
// getter和setter方法
}
```
3. 使用JAXBContext将Java实体对象转换为XML数据。
```java
User user = new User();
user.setName("John");
user.setAge(30);
JAXBContext jaxbContext = JAXBContext.newInstance(User.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
StringWriter stringWriter = new StringWriter();
marshaller.marshal(user, stringWriter);
String xmlData = stringWriter.toString();
```
使用Jackson Dataformat XML:
1. 首先,在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.12.1</version>
</dependency>
```
2. 创建一个实体类。
```java
@JacksonXmlRootElement(localName = "user")
public class User {
@JacksonXmlProperty(localName = "name")
private String name;
@JacksonXmlProperty(localName = "age")
private int age;
// getter和setter方法
}
```
3. 使用XmlMapper将Java实体对象转换为XML数据。
```java
User user = new User();
user.setName("John");
user.setAge(30);
XmlMapper xmlMapper = new XmlMapper();
String xmlData = xmlMapper.writeValueAsString(user);
```