Проект Lombok позволяет сильно упростить ваш Java-код, генерируя за вас методы установки значений, генерации значений, hashCode, equals и ещё много чего. На официальном сайте https://projectlombok.org/ есть отличная документация по всем его возможностям, но на английском.
Мне уже давно нужно было изучить эту библиотеку, так как на моём текущем проекте она очень активно используется. Наконец-то я добрался до этого. В процессе обучения я перевёл всю их документацию и выложил её в свой блог, кроме экспериментальных возможностей.
Для начала нужно добавить Lombok в ваш проект. Для этого нужно его скачать с официального сайта https://projectlombok.org/ и запустить с помощью команды java - jar lombok.jar . Вас попросят указать путь к IDE и согласиться с соглашением.
Также нужно подключить к проекту зависимость от lombok:
1 2 3 4 5 6 7 8 |
<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.4</version> <scope>provided</scope> </dependency> </dependencies> |
Теперь можно использовать все возможности библиотеки Lombok.
Lombok val — беспроблемные final локальные переменные
Lombok @NonNull, или как я перестал беспокоиться и полюбил NullPointerException
Lombok @Cleanup — автоматическое управление ресурами
Lombok @Getter и @Setter — больше не нужно писать геттеры и сеттеры
Lombok @EqualsAndHashCode — облегчаем сравнение объектов
Lombok @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
Lombok @Value — лёгкое создание неизменяемых классов
Lombok @SneakyThrows — храбро бросаем проверяемые исключения там, где их ещё никто не бросал
Lombok @Synchronized — правильная синхронизация
Lombok @Getter(lazy=true). Лень — это хорошо
Экспериментальные возможности я не стал изучать и не стал переводить. Они могут быть позже переведены в разряд основных возможностей или могут быть убраны.