Si je spécifie @ AllArgsConstructor en utilisant Lombok, cela générera un constructeur pour définir tous les éléments déclarés (pas final, pas statique) des champs. Est-il possible d'omettre certains champs et ce constructeur généré par congé pour tous les autres champs?
Non, ce n'est pas possible. Il existe une demande de fonctionnalité pour créer un @SomeArgsConstructor où vous pouvez spécifier une liste de champs impliqués.
Divulgation complète: je suis l'un des principaux développeurs de Project Lombok.
Vous pouvez également utiliser @RequiredArgsConstructor
. Cela ajoute un constructeur pour tous les champs qui sont soit @NonNull
ou final
.
Voir documentation
Dans certains cas, un bon moyen de contourner ce problème serait d'utiliser @Builder