«Видимость. Любой» спектакль Джексона - PullRequest
2 голосов
/ 24 апреля 2020

Использование Джексона с Lombok @Accessors(fluent=true) требует добавления @JsonAutoDetect(Visibility.Any) аннотации:

@Data
@NoArgsConstructor
@Accessors(fluent=true)
public class Pojo{
  private String fieldOne;
  private String fieldTwo;
}

Мне любопытно, как работает Visibilty.Any. Использует ли он отражение или добавлены хуки времени компиляции?

1 Ответ

1 голос
/ 24 апреля 2020

Jackson использует отражение и кэширование для реализации процессов сериализации и десериализации в любом случае. Использование этой аннотации не добавляет заметных затрат производительности. Для получения дополнительной информации посмотрите, как это реализовано: JsonAutoDetect. java. Это позволяет вам изменять конфигурацию видимости по умолчанию для полей, геттеров, сеттеров, создателей и конструкторов.

...