Java / Lombok Interview questions
What is @RequiredArgsConstructor used for?
@RequiredArgsConstructor generates a constructor that includes only the fields Lombok
considers "required": final fields, and fields annotated @NonNull that don't already
have a default value assigned.
@RequiredArgsConstructor public class Person { private final String name; // required: included @NonNull private String email; // required: included private int age; // not required: excluded } // generates: public Person(String name, String email) { ... }
This is especially common in Spring applications for constructor-based dependency injection: marking
injected dependency fields as final and applying @RequiredArgsConstructor at the
class level generates exactly the constructor Spring needs to inject those dependencies, without listing every
other, non-dependency field.
More Related questions...