2013-10-17 37 views

回答

2

默認情況下,JAXB(JSR-222),實現將訪問公共字段和屬性(get /套)方法對。這種訪問通常是通過反射完成的(但不是必須的)。它也可以通過類似於字節代碼生成的訪問器來完成。

您可以將其更改爲直接使用@XmlAccessorType(XmlAccessType.FIELD)訪問字段。

+0

當我的領域是私人的時候,它有可能仍然有效嗎? – Truman

+0

@Truman - 是的,當這些字段是私人的時候它仍然可以工作。當我回到IDE之前時,我會發佈一個反射示例。關於私有變量和堆棧溢出的反思也可能存在問題。 –

+0

好的,謝謝。所以在他結束時,沒有簡單的方法來攔截jaxb的設置過程,是這樣嗎? – Truman

0

Jaxb在某些時候使用了反射,當我嘗試在未認證的applet中使用它時(使用瀏覽器中的java sandbox的限制),使我感到驚訝。

但我確定它在我的情況下使用setter。我在setters中做了一些處理(同時設置了其他內部變量)並且工作。