在Java中,有没有办法根据注释字段的类型来改变注释的行为?
我知道注释的存在应该通过代码进行测试。不是相反。但情况相当特殊:这是一个 Jackson 2.0 « inside » 注释,它收集注释列表。我们使用它来定义字段名称 ( @JsonProperty
) 和字段序列化策略 ( @JsonSerialize
)。
序列化策略必须适应带注释的字段。而且,因为我们谈论的是一个框架,所以一个独特的注释远比两个独立的注释要好。
@Retention(RUNTIME)
@JacksonAnnotationsInside.
@JsonProperty("_id")
@JsonSerialize(using=IdSerializer.class)
@JsonDeserialize(using=IdDeserializer.class)
public @interface Id {}
有些情况需要关闭序列化程序,这就是重点。在以下示例中,String
必须由反序列化程序处理,ObjectId
不要。两者都需要_id
由@JsonProperty
.
public class Car {
@Id String id
}
public class Bus {
@Id ObjectId id
}
有什么线索吗?