Java 是否存在忽略setter的jackson注释?

Java 是否存在忽略setter的jackson注释?,java,jackson,Java,Jackson,我有一个属性,它有两个setter private boolean boolValue; public void setBoolValue(boolean value) { this.boolvalue = value; } public void setBoolValue(String value) { this.boolValue = somemethod(value); // convert String to boolean } 杰克逊不会用两个二传手反序列化。

我有一个属性,它有两个setter

private boolean boolValue;

public void setBoolValue(boolean value) {
     this.boolvalue = value;
}

public void setBoolValue(String value) {
     this.boolValue = somemethod(value); // convert String to boolean
}
杰克逊不会用两个二传手反序列化。我怎样才能让它忽略 非字符串参数方法?

您可以使用

@JsonSetter
设置要使用的setter

在除您要使用的设置器之外的所有其他设置器上

如果有多个getter,请使用

@JsonProperty

定义要使用的getter。

您打破了与这些setter的JavaBean契约:无法重载setter。字符串参数用于从CSV或JSON加载,参数与要设置的属性类型相同的参数是通常使用的参数。如果我有一个枚举,我有一个接受枚举的setter。json封送员不喜欢这样。
@JsonProperty