How does Jackson deserialisation work when creating a Java object from JSON?
A common conception is that it first calls the No Argument Constructor and then proceeds to call setters.
But,
- What happens if there is no No Argument Constructor?
- Can Jackson be asked to choose some other constructor?
- Is there any issue with Boilerplate code generators like Lombok?
Now, how does it decide which constructor to call and what are the remaining fields?