Ich wollte wissen, warum wir bei der Arbeit mit JAXB den Annotation @ XmlAccessorType angeben müssen.
Als ich dafür gegoogelt habe, habe ich diese Beschreibung von einer Website gefunden, die das angibt @XmlAccessorType legt die standardmäßige Feld- und Eigenschaften-Serialisierbarkeit fest. Standardmäßig serialisiert JAXB öffentliche Felder und Eigenschaften. Durch die Einstellung von @XmlAccessorType kann die Bean festlegen, dass nur annotierte Felder serialisiert werden dürfen.
Hier erwähnt der Autor, dass er mit dieser Anmerkung die Kontrolle über die Serialisierung ermöglicht.
Meine Frage ist, also hat @XmlAccessorType nichts mit der JAXB-Bindung und der Bindung von XML an Java und Java an XML zu tun, und es geht nur um Serialisierung.
JAXBs Normalerweise ist die wichtigste Entscheidung zwischen Weitere Informationen @XmlAccessorType
Annotation wird nur von JAXB (JSR-222) FIELD
& amp; PROPERTY
/ PUBLIC
. FIELD
ist besonders nützlich, wenn Sie in Ihren get / set-Methoden eine Logik haben, die beim Marshalling / Unmarshalling nicht ausgelöst werden soll. Um zu sehen, wie diese Auswahl die Mapping-Metadaten beeinflusst, siehe: NONE
ist eine sinnvolle Wahl, wenn Sie viele nicht zugeordnete Eigenschaften haben und Ihrer JAXB-Implementierung mitteilen möchten, dass nur die von Ihnen kommentierten Felder / Eigenschaften zugeordnet werden sollen. Dies kann viel einfacher sein, als viele @XmlTransient
Annotationen in Ihr Modell hinzuzufügen.
Tags und Links jaxb