在我的代码中,我将有很多像这样的getter方法,它们都有相同的一组注释(一个是为了Hibernate,另一个是为了Jackson)。
在我的代码中,我会有很多类似这样的getter方法,它们都有相同的一组注释(一个是用于Hibernate,另一个是用于Jackson):
@Transient
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = BaseEntity.JSON_DATETIME_FORMAT)
public LocalDateTime getCreatedDateDT() {
return DateTimeUtils.klabTimestampToLocalDateTime(getCreatedDate(), createdDateDT);
}
我希望通过实现自己的注释来最小化重复,这意味着所有这四个注释将一起使用,就像这样:
@TransientLocalDateTime
public LocalDateTime getCreatedDateDT() {
return DateTimeUtils.klabTimestampToLocalDateTime(getCreatedDate(), createdDateDT);
}
我该如何做?这真的可能吗?
更新 多亏了Konstantin Yovkov,现在我知道我可以将所有Jackson注释结合在一起,但这是因为Jackson的注释处理器识别出了这种技巧。我想知道是否可能让 任何 注释处理器都能做到这一点?但我觉得这是不可能的。
@Transient
。 - Mikhail Batcer@JacksonAnnotationsInside
),这些注释将由您的注释处理器处理。 - Konstantin Yovkov@Target(value = { ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD })
进行设置,以便在每个可能的元素上使用它。 - Konstantin Yovkov