Уменьшите сложность кода с помощью Project Lombok
Инкапсуляция — это одна из четырех фундаментальных объектно-ориентированных концепций (ООП). Остальные три — это наследование, полиморфизм и абстракция.
Инкапсуляция в Java — это механизм объединения данных и кода, воздействующего на данные, как единое целое. При инкапсуляции переменные класса будут скрыты от других классов, и к ним можно получить доступ только через методы их текущего класса. И эти методы называются геттеры и сеттеры, следующий код является базовым примером для геттеров и сеттеров.
Итак, сегодня я собираюсь рассказать вам о Project Lombok, java-библиотеке, которая автоматически подключается к вашему редактору и инструментам сборки, добавляя остроты вашему java.
Никогда больше не пишите еще один метод getter или equals с одной аннотацией вашего класса. имеет полнофункциональный конструктор, автоматизирует переменные регистрации и многое другое.
В библиотеке Lombok мало аннотаций. Ниже приведены некоторые аннотации, которые облегчат наш путь разработки и время.
@getter
для генерации геттеров@setter
для сеттеров генерации@EqualsAndHashCode
для создания равных и хэш-кодов
@Data
аннотация
@Data
— это удобная краткая аннотация, которая объединяет функции @ToString
, @EqualsAndHashCode
, @Getter
,@Setter
и @RequiredArgsConstructor
вместе: другими словами, @Data
генерирует все шаблоны, которые обычно ассоциируются с простыми POJO (обычными старыми Java Objects) и bean-компоненты: геттеры для всех полей, сеттеры для всех неконечных полей и соответствующие реализации toString
, equals
и hashCode
, которые включают поля класса, и конструктор, который инициализирует все конечные поля, а также все неконечные поля. final поля без инициализатора, которые были отмечены @NonNull
, чтобы гарантировать, что поле никогда не будет нулевым.
Тогда вам не нужно писать геттеры, сеттеры, эквиваленты самим пользователем, эти методы будут сгенерированы библиотекой Lombok.
Ниже приведен пример, который они показывают в документации для аннотации @Data
. После того, как вы это увидите, вам понравится программировать: D