Lombok — это библиотека, которая автоматически генерирует boilerplate-код для Java-классов, такой как геттеры, сеттеры, конструкторы, методы equals(), hashCode() и toString(). Это достигается за счет использования аннотаций.
Примеры использования:
@Getter / @Setter: Автоматическая генерация геттеров и сеттеров для полей класса.@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor: Автоматическая генерация различных видов конструкторов.@ToString: Генерация метода toString().@EqualsAndHashCode: Генерация методов equals() и hashCode().@Data: Сокращение, объединяющее @Getter, @Setter, @ToString, @EqualsAndHashCode и @RequiredArgsConstructor.@Builder: Реализация паттерна Builder.@Value: Неизменяемый аналог @Data (поля final, убирает сеттеры).Преимущества Lombok:
Недостатки Lombok:
Пример кода с использованием Lombok:
java
Без Lombok этот класс выглядел бы примерно так:
java