Jaki jest najlepszy i najłatwiejszy sposób tworzenia fasoli w niestandardowy sposób (nie przez wywołanie konstruktora domyślnego) podczas deserializacji z JSON przy użyciu biblioteki Jackson? Zauważyłem, że istnieje interfejs JsonDeserializer
, który mógłbym zaimplementować, ale nie jestem zbyt pewny, jak połączyć to wszystko w ObjectMapper
.Jak utworzyć instancję fasoli w niestandardowy sposób z Jacksonem?
AKTUALIZACJA # 1: Myślę, że na moje pytanie potrzeba trochę więcej szczegółów. Domyślnie deserializator Jacksona używa domyślnego konstruktora do tworzenia fasoli. Chciałbym móc implementować tworzenie instancji komponentu bean, wywołując zewnętrzną fabrykę. Potrzebuję więc tylko klasy fasoli, która musi zostać utworzona. Fabryka zwróci instancję, która następnie może zostać przekazana Jacksonowi na popyt na nieruchomości i tak dalej.
Uwaga: nie martwię się o tworzenie prostych/skalarnych wartości, takich jak ciągi lub liczby, tylko fasola jest w obszarze moich zainteresowań.
Dzięki Heiko. Jackson domyślnie używa domyślnego konstruktora komponentu bean do utworzenia instancji. Chciałbym faktycznie utworzyć komponent bean za pomocą zewnętrznej fabryki. Zaktualizuję moje pytanie z pewnymi szczegółami w ciągu sekundy. –
Jak mogłem to zrobić bez korzystania z adnotacji? –
Używając adnotacji typu "mix-in", które nie muszą być dodawane bezpośrednio do samej klasy, ale do innych klas "mieszania". Dzięki temu można korzystać z adnotacji w bibliotekach firm trzecich. – StaxMan