注解类型 Jacksonized
@Jacksonized
注解是为 @
Builder
和 @
SuperBuilder
提供的附加注解。它自动配置生成的 builder 类,以便 Jackson 反序列化使用。仅当在同时存在 @Builder
或 @SuperBuilder
的上下文中出现时才有效;否则会发出警告。特别是,该注解执行以下操作
- 配置 Jackson 使用 builder 进行反序列化,在类上使用
@JsonDeserialize(builder=Foobar.FoobarBuilder[Impl].class)
(其中 Foobar 是被注解的类的名称)。 - 将 Jackson 相关的配置注解(例如
@JsonIgnoreProperties
)从类复制到 builder 类。这对于 Jackson 在使用 builder 时识别它们是必要的。 - 在生成的 builder 类上插入
@JsonPOJOBuilder(withPrefix="")
以覆盖 Jackson 的默认前缀 "with"。如果您在 lombok 中使用setterPrefix
配置了不同的前缀,则使用此值。如果您使用buildMethodName
更改了build()
方法的名称,这也将告知 Jackson。 - 对于
@SuperBuilder
,使 builder 实现类为包私有。
@Jacksonized
@SuperBuilder
仍然与常规 @SuperBuilder
完全兼容。