1.在使用jaxbMarshaller生成xml的過程中,有java bean如下使用到了泛型:
@XmlRootElement(name = "ReturnInfo")
@XmlType()
public class ReturnInfo<T> {
private List<T> resultList;
public List<T> getResultList() {
return resultList;
}
public void setResultList(List<T> resultList) {
this.resultList = resultList;
}
}
2.在最初測(cè)試的時(shí)候jaxbMarshaller報(bào)異常,無法找到處理泛型的辦法。
3.在使用jaxb時(shí)需要在java bean打上@XmlSeeAlso(MultiQueryInfo.class)注釋,作用就是是在jaxb綁定一個(gè)class時(shí)候可以使用
其他的class,在jaxb使用多態(tài)的時(shí)候都需要用到此標(biāo)簽;其中括號(hào)中可以添加多個(gè)class,如@XmlSeeAlso(A.class,B.class)
4.在客戶端的bean中也需要用到此注釋,否則同樣報(bào)轉(zhuǎn)換錯(cuò)誤:
Exception in thread "main" java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl cannot be cast to com.jd.fms.adsettlement.client.domain.MultiQueryInfo