Цикл статей «Project Lombok».
Следующая статья — «Lombok @Data».
Предыдущая статья — «Lombok @EqualsAndHashCode — облегчаем сравнение объектов».
Эти три аннотации генерируют конструктор, который принимает 1 параметр для определённых полей и просто присваивает этот параметр полю.
@NoArgsConstructor генерирует конструктор без параметров. Если это невозможно (потому что поля final), то возникает ошибка компиляции. Если используется @NoArgsConstructor(force = true), то все final поля инициализируются 0 / false / null. Для полей с ограничениями, например @NotNull, никаких проверок при присвоении не генерируется, поэтому эти условия могут не выполняться, пока эти поля не будут инициализированы подобающим образом позже. Читать далее Lombok @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor