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

Проект Ломбок, Java Ломбок, учебник по java на Ломбоке, пример java на ломбоке, ломбок java 8, проект ломбок maven, установка затмения на ломбоке, аннотации на ломбоке, @Getter, @Setter, @AllArgsConstructor, @Builder, @EqualsAndHashCode, аннотация данных на Ломбоке@, загрузите банку ломбока.

Проект Ломбок, Java Ломбок, учебник по java на Ломбоке, пример java на ломбоке, ломбок java 8, проект ломбок maven, установка затмения на ломбоке, аннотации на ломбоке, @Getter, @Setter, @AllArgsConstructor, @Builder, @EqualsAndHashCode, аннотация данных на Ломбоке@, загрузите банку ломбока.

Автор оригинала: Pankaj Kumar.

Project Lombok-очень полезный инструмент для java – проектов, позволяющий сократить стандартный код.

Постановка проблемы

Давайте посмотрим пример кода, в котором есть код котельной плиты.

package com.askrakesh.java.manage_boilerplate;

import java.time.LocalDate;

public class Person {

	String firstName;
	String lastName;
	LocalDate dateOfBirth;

	public Person(String firstName, String lastName, LocalDate dateOfBirth) {
		super();
		this.firstName = firstName;
		this.lastName = lastName;
		this.dateOfBirth = dateOfBirth;
	}

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public LocalDate getDateOfBirth() {
		return dateOfBirth;
	}

	public void setDateOfBirth(LocalDate dateOfBirth) {
		this.dateOfBirth = dateOfBirth;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((dateOfBirth == null) ? 0 : dateOfBirth.hashCode());
		result = prime * result + ((firstName == null) ? 0 : firstName.hashCode());
		result = prime * result + ((lastName == null) ? 0 : lastName.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Person other = (Person) obj;
		if (dateOfBirth == null) {
			if (other.dateOfBirth != null)
				return false;
		} else if (!dateOfBirth.equals(other.dateOfBirth))
			return false;
		if (firstName == null) {
			if (other.firstName != null)
				return false;
		} else if (!firstName.equals(other.firstName))
			return false;
		if (lastName == null) {
			if (other.lastName != null)
				return false;
		} else if (!lastName.equals(other.lastName))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "Person [firstName=" + firstName + ", lastName=" + lastName + "dateOfBirth=" + dateOfBirth + "]";
	}

}

Класс должен иметь установщики-получатели для переменных экземпляра, равно & реализация метода хэш-кода|/, все конструкторы полей и реализация toString метода. Этот класс до сих пор не имеет бизнес-логики и даже без нее составляет более 80 строк кода. Это безумие.

Проект Ломбок

Project Lombok-это библиотека java, которая автоматически подключается к вашему редактору и инструментам сборки и помогает сократить код котельной плиты. Давайте сначала посмотрим, как настроить проект Lombok.

Как работает Java-проект Lombok?

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

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

Проект Ломбок Мавен

Добавить Ломбок в свой проект очень просто. Просто добавьте приведенную ниже зависимость в свой проект maven pom.xml файл.


	org.projectlombok
	lombok
	1.16.20

Добавление плагина Lombok в IDE (Eclipse)

Вот шаги по установке Windows:

  1. Скачал jar с https://projectlombok.org/download или используйте jar, загруженный из вашей сборки maven.
  2. Выполните команду в терминале: java -jar lombok.jar
  3. Эта команда откроет окно, как показано на рисунке ниже, установите и закройте программу установки и перезапустите eclipse.

Если вы работаете на macOS, то ниже приведены шаги по использованию Ломбока в вашем проекте.

  1. Копия lombok.jar в каталог Eclipse.app/Содержимое/macOS .
  2. Добавить -javaagent:lombok.jar до конца Eclipse.app/Содержимое/Eclipse/eclipse.ini файл.
  3. Перезапустите Eclipse и включите “Обработку аннотаций” в свойствах проекта, как показано на рисунке ниже.

Взгляд Ломбока в очертаниях затмения

После установки давайте проверим, как мы можем видеть наш сокращенный шаблонный код? Я воссоздал тот же класс, что и Человек Ломбок . Контур затмения, в котором отображаются получатель и установщик имени. Это было сделано на основе Lombok @Getter & @Setter | аннотации набора имени переменной экземпляра.

Взгляд Ломбока в байт-код Java

Мы можем проверить добавление методов getter & setter для первого имени из байт-кода класса.

Аннотации проекта Ломбок

Проект Ломбок предоставляет множество аннотаций, которые помогают сократить стандартный код в различных сценариях. Давайте рассмотрим некоторые из них.

  1. Аннотация конструктора

    Приведенный выше код вводит в класс следующее:

    • Конструктор со всеми аргументами @AllArgsConstructor
    • Проверка Null во время передачи аргумента в конструкторе с помощью @NonNull. Аннотацию @NonNull также можно использовать при передаче аргумента в качестве параметра методу

    Вот результат выполнения программы. @RequiredArgsConstructor создает конструктор с 1 параметром для каждого поля, требующего специальной обработки. Все неинициализированные конечные поля получают параметр, а также любые поля, помеченные как @NonNull , которые не инициализированы там, где они объявлены.

  2. Аннотации Геттера/Сеттера

    Эти аннотации можно использовать как на уровне поля, так и на уровне класса. Если вам нужен мелкозернистый контроль, используйте его на уровне поля. При использовании на уровне класса создаются все геттеры/сеттеры. Давайте поработаем над классом, который мы создали выше.

  3. аннотации equals, хэш-кода и toString

    Рекомендуется переопределить методы hashCode() и equals() при создании класса. На Ломбоке у нас есть @EqualsAndHashCode аннотация, которая вводит код для метода equals () и hashCode (), когда они идут вместе. Кроме того, аннотация @toString обеспечивает реализацию функции toString (). Давайте посмотрим на это:

    Теперь мы добились создания класса Person без какого-либо шаблонного кода с помощью аннотаций Ломбока. Однако это становится еще лучше, мы можем заменить все аннотации, используемые в вышеупомянутом классе, на @Data и получить ту же функциональность.

  4. Аннотации на основе шаблонов проектирования

    @Builder позволяет автоматически создавать код, необходимый для создания экземпляра вашего класса с использованием шаблона builder .

    @Delegate генерирует методы делегирования, которые перенаправляют вызов в это поле, в котором используется аннотация.

    ” ” Предпочтение композиции перед наследованием “, но это создает много шаблонного кода, похожего на Шаблон адаптера

    . Ломбок взял подсказку из аннотации Groovy с тем же именем при реализации этой функции. Давайте посмотрим на реализацию:

Котельная: Слушают Ли Архитекторы Java?

Да, это так. Вы должны понимать, что в отличие от других языков, Java позаботилась о том, чтобы обновить язык таким образом, чтобы он не нарушал существующую кодовую базу, которая находится в более старых версиях java. Это само по себе является огромной задачей, и ее нельзя подорвать.

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

Резюме

Сокращение стандартного кода помогает улучшить читаемость, меньшее количество кода также означает меньшее количество ошибок. Проект Ломбок сегодня широко используется почти во всех крупных организациях. Мы предоставили вам самые полезные функции с Ломбока. Надеюсь, вы попробуете.

Исходный код : Вы можете посетить мою ссылку на Github , чтобы загрузить полный исходный код, используемый в этом руководстве.