It automatically generates frequently used code during development such as Getter, Setter, default constructor, toString, etc. using annotations
Lombok Annotations
@Getter
Generates get methods for all fields declared within a class
@RequiredArgsConstructor
Generates a constructor with all final fields as arguments
Fields without final are not included in the constructor
Reason for use
To solve the inconvenience of having to continuously modify constructor code every time the dependency relationship of the class changes
@NoArgsConstructor
Generates a default constructor
Has the same effect as public Post() {}
@Builder
Creates a Builder pattern class for the corresponding Class
When declared at the top of a Class, only fields included in the constructor are included in the builder
Options
toBuilder
default = false
When set to true, you can call the toBuilder() method on an instance created with the builder to create a new instance via the Builder Pattern based on that instance's values