java - 制作@XmlTransient 注释只是为了序列化?

标签 java xml serialization cxf deserialization

我在我的项目中使用 Spring 和 Apache CXF,该项目以首次代码风格实现 Java Web 服务。

我有一个定义的变量:

@XmlTransient
public String word;

因此该变量不会映射到 XML 中的属性。

但是我希望它在序列化而不是反序列化时被忽略以映射 XML 元素。

我该怎么做?

最佳答案

我认为您无法使用 @XmlTransient 实现这一点。一个选项是使用 MOXy使用一种模式编码并使用另一种模式解码。你可以找到一个很好的例子 here .

一个简单但不太优雅的解决方法是这样的:

@XmlTransient
public String word;

public void setDeserializedWord(String word) {
   this.word = word;
}

@XmlElement(name="word")
public String getDeserializedWord() {
   return null;
}

关于java - 制作@XmlTransient 注释只是为了序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10896767/

相关文章:

c# - 为什么没有标记为 Serializable 的类不能使用 BinaryFormatter 序列化?

java - 将 lambda 与 JdbcTemplate 查询方法一起使用显示模棱两可的错误

java - 使用正则表达式将相似的 xml 标签合并为单个标签

python - 如何将数据从 TCP Python 服务器发送到客户端,反之亦然?

html - 使用 QXmlStreamReader 读取 XML 文档中嵌入的 HTML

java - 使用 JDom 格式化 XML,每行一个属性

c++ - 序列化结构

java - Twitter4j 按用户名和用户简介搜索

java - Spring Boot 中的多态配置属性

java - 由于 Boxfuse Dev VM 上的 SSL 错误,Spring Boot 应用程序未启动