Java:生成XML时使用静态方法的最佳方法?

时间:2016-12-27 20:00:17

标签: java xml spring jaxb static-methods

过去几天我使用 Java Spring Framework 。由于我必须使用 XML 进行大量请求,其中许多已经使用 JAXB 实现,我确实决定采用这种方法。我必须使用的大多数 XML 请求过于复杂并且包含许多嵌套元素,因此使用 JAXB 的这种方法有时会令人筋疲力尽。我在此应用程序中找到的代码示例似乎是一种以非常快的方式生成 XML 消息的好方法。如下所示:

@XmlRootElement(name = "customer")
@XmlAccessorType(XmlAccessType.FIELD)
public class Customer {

    @XmlAttribute(name = "name")
    @get @set private String name;

    @XmlAttribute(name = "age")
    @get @set private int age;

    @XmlElement(name = "car")
    @get @set private Car car;

    public static Customer withAttributes(String name, int age, Car car) {
        Customer customer = new Customer();
        customer.setName(name);
        customer.setAge(age);
        customer.setCar(car);
        return customer;
    }

    @XmlRootElement(name = "car")
    @XmlAccessorType(XmlAccessType.FIELD)
    public class Car {

        @XmlAttribute(name = "color")
        @get @set private String color;

        public static Car withAttributes(String color){
            Car car = new Car();
            car.setColor(color);
            return car;
        }

    }
}

我按照以下方式调用这些静态方法:

Car car = Car.withAttributes("Blue");
Customer customer = Customer.withAttributes("Tom", 22, car);

当然,经过这些操作后,我使用 Marshal Unmarshal 操作并发送POST请求等,但现在无关紧要。

我想知道这种方法有什么好处?性能? 有没有更好的方法来做同样的事情,方式和方式?

我已经在帖子中讲过静态方法的好处Java: when to use static methods,但我找不到与上面类似的东西。

0 个答案:

没有答案