2

有人知道 jaxb 使用什么将 xml 值注入对象吗?我试图在设置器上放置一个断点,但它似乎并没有照顾到它们。

4

3 回答 3

2

默认情况下,JAXB (JSR-222) 实现将访问公共字段和属性(get/set)方法对。这种访问通常是通过反射完成的(但不是必须的)。它也可以通过诸如字节码生成的访问器之类的东西来完成。

您可以将其更改为直接使用 访问字段@XmlAccessorType(XmlAccessType.FIELD)

于 2013-10-17T10:35:01.713 回答
1

@XmlAccessorTypeJAXB 显然默认使用直接字段访问,但您可以通过注释使其使用 Setter 方法。

阅读这篇博文了解更多信息:
http ://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html

于 2013-10-17T10:22:19.577 回答
0

Jaxb 在某些时候使用反射,当我尝试在未经认证的小程序中使用它时(浏览器中对 java 沙箱的限制),这让我感到惊讶。

但我确信它在我的案例中使用了 setter。我在设置器中进行了一些处理(同时设置其他内部变量)并且它起作用了。

于 2013-10-17T10:22:06.120 回答