注解类型 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 完全兼容。