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

Начиная с проекта Ломбок

В этом уроке мы собираемся начать использовать Lombok как часть нашего кода, сначала мы собираемся… С тегами java, lombok, spring boot, spring.

В этом руководстве мы собираемся начать использовать Lombok как часть нашего кода, сначала мы собираемся представить, что такое Lombok, затем как добавить его в проект Spring Boot, а затем показать некоторые аннотации, которые мы можем использовать в нашем коде, чтобы избежать шаблонного кода.

Что такое Ломбок?

Lombok – это библиотека, которой мы можем управлять как новой зависимостью внутри нашего проекта. Основная цель этой библиотеки – использовать аннотации, чтобы избежать шаблонного кода. У нас его много, верно? Он был создан в 2009 году, и по прошествии всех этих лет его популярность и использование значительно возросли. В наши дни мы видим множество новых Java-проектов, использующих его, а также множество устаревших проектов, которые хотят обновить то, как они пишут код, и пытаются использовать такого рода библиотеки, чтобы сделать код более читаемым и понятным. Как мы уже говорили, Ломбок использует аннотации, да, например @Override , @NotNull или @Autowired весной. Эти аннотации помогают классу сохранять его очень чистым и понятным, мы увидим несколько примеров позже в этом руководстве.

Как добавить Ломбок в мой проект?

Мы будем предполагать, что вы уже знаете, как создать проект Spring или Spring Boot, для этого примера мы будем использовать проект Spring Boot, созданный с помощью Maven , поэтому мы перейдем к той части, где вы хотите добавить библиотеку Lombok. Конечно, как всегда, у вас будет нормальная структура, в которой вы собираетесь найти pom.xml файл внутри вашего проекта. Чтобы использовать библиотеку Lombok, вы должны добавить соответствующую зависимость под тегом dependencies, проверьте изображение ниже. Также вы можете найти лучший пример того, как добавить зависимость здесь .

После добавления зависимости не забудьте обновить содержимое maven, чтобы загрузить зависимость для вашего проекта. Теперь мы можем начать использовать некоторые аннотации. В этом уроке мы рассмотрим некоторые из них, в частности: @Getter , @Сеттер и @RequiredArgsConstructor .

Использование Lombok в вашем коде, несколько примеров.

Теперь давайте используем Lombok в коде, как мы уже говорили, мы используем проект Spring Boot для управления этим руководством.

Аннотации @Getter и @Setter.

@Получатель и @Setter являются наиболее часто используемыми аннотациями от Lombok, его цель – создать все методы получения и установки указанных полей внутри класса, эти аннотации очень полезны, когда мы создаем POJO, некоторые примеры – это те, которые мы создаем для сущностей или объектов передачи данных (DTOS). Представьте, что у нас есть класс с именем User, это класс entity, конечно, мы хотим иметь обычные поля для этого класса, такие как id, email или пароль, ну, это может быть что-то вроде этого:

public class User {

    private Long id;

    private String email;

    private String password;

}

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

public class User {

    private Long id;

    private String email;

    private String password;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return this.id;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return this.email;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Long getPassword() {
        return this.password;
    }

}

Шаблонный код начинается, когда мы должны записать все геттеры и сеттеры всех POJO, которые у нас есть в нашем проекте, вот когда Ломбок вступает в действие. Вместо того, чтобы писать эти методы получения и установки, мы используем аннотации Lombok @Получатель и @Setter :

@Getter
@Setter
public class User {

    private Long id;

    private String email;

    private String password;

}

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

Аннотация @RequiredArgsConstructor и некоторые другие.

Давайте поговорим о @Requiredargsconstructor . Итак, опять же, помните, что мы используем Spring Boot, поэтому вы хотите использовать dependency injection , конечно, используя @Autowired , но вы знаете , что есть три способа использования @Autowired . Первый и менее рекомендуемый – это использование @Autowired в верхней части поля, это не рекомендуется, потому что иногда это может привести к нарушению SOLID . Таким образом, вы используете @Autowired в верхней части установщика, когда поля являются необязательными, или в верхней части конструктора, когда поля должны быть введены в класс для создания правильной функциональности.

Хорошо, давайте представим, что у нас есть несколько конечных полей, это означает, что эти поля необходимо ввести в класс, чтобы этот класс мог нормально работать, поэтому у нас есть:

public class UserService {

    private final UserRepository userRepository;

}

Например, нам нужен подрядчик для этого конечного поля для инициализации:

public class UserService {

    @Autowired
    public UserService(UserRepository userRepository) {

        this.userRepository = userRepository;

    }
}

И, конечно же, мы используем аннотацию @Autowired для ввода поля, но теперь представьте, что вы используете более одного конечного поля (но будьте осторожны, там не так много полей, чтобы не нарушать SOLID). У нас снова есть более шаблонный код, здесь Ломбок приходит на помощь. Мы вводим использование @RequiredArgsConstructor .

@RequiredArgsContructor
public class UserService {

    private final UserRepository userRepository;

}

Эта аннотация поможет нам создать конструктор со всеми необходимыми параметрами, в данном случае с конечными полями. Также, если вам нужен не только конструктор с параметрами, но и конструктор без каких-либо параметров, вы также можете использовать аннотацию @NoArgsContructor , вы можете найти дополнительную информацию здесь .

Вывод

Мы видели, как Lombok может помочь нам избежать шаблонного кода, может быть хорошей практикой для ваших следующих проектов, попробуйте проверить все ссылки, которые мы добавили в этом руководстве, чтобы больше понять, о чем мы говорим, пожалуйста, оставьте комментарий и дайте мне знать, если у вас есть какие-либо вопросы. Также, пожалуйста, узнайте больше о Ломбоке здесь . Ваше здоровье!

Оригинал: “https://dev.to/chrisegb/starting-with-project-lombok-4959”