这与此帖子https://stackoverflow.com/questions/21486734/jaxb-jersey-how-return-a-generic-dto-that-contains-a-list有关

基本上,我想知道如果我像这样注释一个类,@ XmlSeeAlso的性能含义是什么。

因此,PagedResultListDTO只会包含一种类型的类,但是我必须注释一下它会容纳所有可能的类,这会影响性能吗? (替代方法是为每个单独的DTO类创建X包装器类,而不是下面的通用包装器)

@XmlSeeAlso({TeamDTO.class, UserDTO.class, etc etc})
public class PagedResultListDTO<E> {

  private List<E> results;
  ...
}

最佳答案

您的JAXBContext知道的每个类都将被处理并为其创建元数据。如果您只有一个根类和N个值类,那么元数据将被创建N + 1次。如果为每个值类创建一个根类,则元数据将创建2N次。

JAXBContext是线程安全的对象,因此您的框架不应重新创建它们。

10-06 03:32