Рубрики
Без рубрики

Руководство по использованию Ломбока В Весеннем Ботинке

Проект Ломбок, одна из самых крутых библиотек java, которая способна минимизировать ваш код. Это заглушка… Помечено как весна, весенняя загрузка, java.

Проект Ломбок , одна из самых крутых java-библиотек, которая способна минимизировать ваш код. Это плагин, который мы могли бы настроить с помощью вашего редактора и инструментов сборки.

Тогда вам не пришлось бы беспокоиться о написании геттеров, сеттеров и многого другого шаблонного материала, который вы должны писать в классах java. Здесь я расскажу, как мы можем интегрировать Lombok с приложением Spring Boot и как к нему привыкнуть.

Технологии, которые будут использоваться,

  • Java 1.8
  • Пружинный ботинок: 2.3.4.ОСВОБОДИТЬ
  • Ломбок
  • Градация
  • Intellij Идея за ИДЕЮ

Основные темы, которые я собираюсь обсудить здесь,

Как работает Ломбок?

Ломбок – это процессор аннотаций , который работает во время компиляции для добавления кодов в ваши классы. Обработка аннотаций была добавлена с Java 5, в основном, если мы используем любой тип процессора аннотаций, компилятор выходит на этот уровень при компиляции класса и предоставляет управление этому конкретному процессору для обработки и выполнения того, что им нужно сделать для этого класса.

Давайте подумаем, что мы добавили аннотации @Getter и @Setter из Ломбока в любой класс. Во время компиляции компилятор дает процессору аннотаций Lombok возможность добавлять все, что необходимо добавить внутри класса. Таким образом, Ломбок добавит в класс следующее.

Добавление Необходимых Зависимостей

Я буду использовать Spring Initializr для создания проекта spring boot со всеми зависимостями, которые мне нужны для этого урока. Если вы действительно новичок в Spring Boot, пожалуйста, следуйте нашей статье на Как создать проект Spring Boot .

Здесь я использую только Spring web и зависимость от Ломбока для этого урока.

Если вам нужно добавить эти библиотеки вручную, для проекта Gradle добавьте следующее в раздел зависимости build.gradle,

  • Только для компиляции – Эта зависимость Lombok используется только при компиляции кода, поэтому мы можем использовать compileOnly для зависимости Lombok,

  • annotationProcessor – Очень похож на compileOnly, но также гарантирует, что переходная зависимость не видна потребителю.

Если вы используете проект на основе maven, используйте в своем проекте следующие зависимости,

Базовая структура проекта будет выглядеть так,

Практические способы использования Ломбока

Отсюда я объясню, как мы можем использовать lombok с обычными проектами java с реальными примерами и кодами. Кроме того, я расскажу, как ломбок будет изменять код во время компиляции, когда это необходимо.

Использование @Getter и @Setter в Ломбоке

Мы используем геттеры и сеттеры для достижения инкапсуляции в java. Таким образом, в основном мы объявляем переменные/атрибуты закрытыми и предоставляем общедоступные методы для доступа и обновления этих закрытых переменных.

Традиционный способ определения геттеров и сеттеров

Ломбок, мы можем написать тот же класс, используя Ломбок, с меньшим количеством кодов, как показано ниже,

@Данные для дополнительных методов

Аннотация @Data обладает большей мощностью, чем использование только геттера и сеттера, поскольку аннотация данных поставляется со следующими дополнительными автоматически сгенерированными методами,

  • RequiredArgsConstructor – создает конструктор с требуемыми аргументами.
  • toString – Полезный метод для строк.
  • Equals и хэш–код – реализация хэш-кода и равенства, которые проверяют все непостоянные поля.

Пример использования @Data для класса.

Проблема с Ломбоком с первым символом в нижнем регистре и следующим в верхнем регистре

Существует известная проблема с Lombok, когда этот Lombok генерирует неверный получатель и сеттер для переменной/атрибутов, которые называются строчными буквами первого символа и прописными буквами следующего символа.

Напр.:-

Если мы создадим сеттер геттера вручную, он будет сгенерирован следующим образом, и это правильный способ создания геттера и сеттера,

Но с Ломбоком Он генерирует следующее,

Как вы можете видеть p является заглавным как в геттере, так и в сеттере, следовательно, сгенерированный Ломбоком геттер и сеттер неверны .

Способ, которым Lombok генерирует неправильный геттер и сеттер, может быть проблематичным при определении API с использованием spring. Поскольку мы не смогли десериализовать входящий HttpRequest с включением значения PCODE в объект Java, у которого есть PCODE. Это происходит из-за неправильного способа, которым Ломбок генерирует эти геттеры и сеттеры.

Это всего лишь простая проблема, с которой мы можем столкнуться при использовании Lombok для весенней загрузки. Имейте это в виду, когда вы определяете переменные/атрибуты внутри проекта.

Lombok @Builder Для Простого Шаблона Построения В Java

Шаблон Builder позволяет нам создавать сложный объект с любыми доступными значениями, когда нам это нужно. Таким образом, обычным способом нам нужно ввести методы построения вместе с инкапсуляцией в класс. Но с Lombok мы можем легко включить метод builder для любого типа класса, который нам нужен.

Хотя мы использовали @Builder, он добавляет все классы и методы, которые мы должны реализовать, чтобы представить конструктор. Таким образом, сгенерированный класс для вышеуказанного тестового запроса строителя выглядит следующим образом,

Мы можем использовать класс с поддержкой builder, как показано ниже, особенность здесь в том, что у нас может быть запрос на тестирование Builder с любыми доступными значениями.

Выход

Как использовать Ломбок с пружинным ботинком

Обсуждаемые выше области, такие как @Getter @Setter и @Data, являются общими для любой разработки приложений на базе Java. Отсюда я объясню, как мы можем использовать плагин Lombok для добавления дополнительной ценности при написании чистого кода в проекте Spring Boot.

Внедрение Зависимостей На Основе Конструктора С использованием Lombok @RequiredArgsConstructor

Внедрение зависимостей, по сути, способ предоставления объектов зависимого класса в класс, в котором он нуждается для выполнения своей работы. Таким образом, существует несколько способов внедрения зависимостей.

Внедрение зависимостей на основе конструктора является одним из них. Здесь я объясню, как мы можем написать внедрение зависимостей на основе конструктора с помощью Lombok.

Давайте определим пример службы и контроллер rest внутри вашего приложения, вызывающего UserService.java и BaseAPIController.java

Хорошо, теперь нам нужно ввести наш UserService.java в BaseAPIController.java для того, чтобы вызвать метод readUser() в UserService.

Зависимость от службы пользователя можно внедрить с помощью @RequiredArgsConstructor в Lombok следующим образом.

Поэтому после использования @requiredargsconstructor Ломбок создаст следующий конструктор, который будет внедрять зависимости на основе конструктора внутри базового контроллера.

@Slf4j в Ломбоке Для Лесозаготовок

Slf4J служит простым фасадом или абстракцией для различных фреймворков ведения журнала, таких как java.util.logging, logback и log4j. Мы можем легко использовать Slf4j в качестве партнера по ведению журнала, используя его lombok.extern.slf4j.

Использование с классом java,

Следующая строка будет добавлена из Ломбока во время компиляции,

Класс, сгенерированный Ломбоком

Пример использования внутри RestController

Дополнительные инструменты Для Ломбока с Java

Вы можете использовать Конвертер Json в Java из instantwebtools.сеть позволяет легко создавать классы java POJO с аннотациями Lombok для вашего следующего проекта.

Все сделано, я надеюсь, теперь у вас есть хорошее представление о том, как использовать Lombok в Spring Boot и при разработке любых приложений на основе Java. Прокомментируйте свои идеи или проблемы, с которыми вы столкнулись при использовании Lombok в своем проекте.

Если вы ищете практические руководства по разработке приложений на основе spring boot, просто ознакомьтесь с нашей серией статей и прокомментируйте все новое, что вам нужно увидеть на нашем веб-сайте.

Вы можете найти исходные коды для этого руководства на нашем Github .

Оригинал: “https://dev.to/chika_tweets/guide-to-use-lombok-in-spring-boot-4g85”