Почему Джексон создает каждый экземпляр сериализатора / десериализатора для аннотированного класса @ JsonSerializer / @ JsonDeserializer - PullRequest
1 голос
/ 09 июля 2020

Я использовал Jackson Json Библиотеки с SpringBoot

Когда я использую @JsonSerialize (using = CustomSerializer.class) в нескольких полях класса DTO

  • CustomSerializer не имеет конструктора без аргументов с помощью «инициализированной» команды ведения журнала

Джексон создает экземпляр сериализатора для каждого класса DTO в Json процессе сериализации.

как я могу создать отдельный экземпляр сериализатора и поделиться им.

правильно ли вы думаете?

    public class CustomSerializer extends JsonSerializer<String> {

        public CustomSerializer() {
            super();
            log.info("initialize : {}", this);
        }
    
        @Override
        public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
            gen.writeString("Custom-" + value);
        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...