【发布时间】:2015-03-21 10:35:56
【问题描述】:
我为一个非常复杂的层次结构应用程序编写 JUNIT 我需要测试一个服务,他的输入是一个非常大且复杂的持久性对象。 由于它太大了,我们决定用 JSONN 字符串对其进行初始化。 问题是因为它有一个大的继承树,杰克逊很难对它进行反序列化。 有没有为什么要通过注释来指示杰克逊他不会进行自动序列化而只会做明确的事情。 我想忽略所有归档和 getter/setter,除了带有 @JsonProperty 注释的那个
【问题讨论】:
我为一个非常复杂的层次结构应用程序编写 JUNIT 我需要测试一个服务,他的输入是一个非常大且复杂的持久性对象。 由于它太大了,我们决定用 JSONN 字符串对其进行初始化。 问题是因为它有一个大的继承树,杰克逊很难对它进行反序列化。 有没有为什么要通过注释来指示杰克逊他不会进行自动序列化而只会做明确的事情。 我想忽略所有归档和 getter/setter,除了带有 @JsonProperty 注释的那个
【问题讨论】:
通过使用以下配置解决了它
getMapper().setVisibilityChecker(getMapper().getDeserializationConfig().getDefaultVisibilityChecker()
.withCreatorVisibility(JsonAutoDetect.Visibility.NONE)
.withFieldVisibility(JsonAutoDetect.Visibility.NONE)
.withGetterVisibility(JsonAutoDetect.Visibility.NONE)
.withIsGetterVisibility(JsonAutoDetect.Visibility.NONE)
.withSetterVisibility(JsonAutoDetect.Visibility.NONE));
【讨论】: