У меня есть следующий bean-компонент, описывающий документ mon go и использующий lombok:
@JsonDeserialize(builder = MyClass.MyClassBuilder.class)
@Builder(toBuilder = true)
@Value
public class MyClass {
private final String id;
@Default
private final String field = "defaultValue";
@JsonPOJOBuilder(withPrefix = "")
public static class MyClassBuilder {}
}
При десериализации {"id": "document"}
с помощью jackson я получаю bean-компонент, содержащий оба id=document
и field=defaultValue
, потому что он использовал построитель, который предоставляет значение по умолчанию для поля.
Теперь я хочу установить значение defaultValue для документов, исходящих из базы данных (исходящих из ReactiveMongoTemplate
). Но, похоже, он использует конструктор all args, даже если я установил его частным (или некоторые отражают black magi c)
Итак, главный вопрос: можно ли указать Spring использовать конструктор для создания bean при выходе из базы?