Lombok

Проработать

  1. Библиотека Lombok
  2. Lombok @Log4j, @Slf4j and Other Log Annotations

Что это

Lombok - проект по добавлению дополнительной функциональности в Java c помощью изменения исходного кода перед Java компиляцией. При помощи аннотаций можно не писать часть кода.

Основные разделы

Основные аннотации

@Singular

Аннотация дополняющая Builder, применяется на поля типа Map, Set, List и позволяет в builder добавлять объекты по одному, а не списком.

Без @Singular

@Builder
public class Person {
    String name;
    List<String> cars;
}

Person person = Person.builder()
        .name("A")
        .cars(Arrays.asList("fictional", "incidental"))
        .build();
        

С @Singular

@Builder
public class Person {
    String name;
    @Singular
    List<String> cars;
}

Person person = Person.builder()
        .name("A")
        .car("carA")
        .car("carB")
        .build();
        

@SneakyThrows

Аннотация оборачивает выбрасываемые исключения в RuntimeException, что позволяет избежать необходимости объявления исключений в сигнатуре метода(throws) или использования блоков try-catch.

import lombok.SneakyThrows;

@SneakyThrows
public void someMethod() {
    // код, который может бросить IOException
}
        

Подключение к Spring Boot + Gradle

Узнать последнюю версию в:

https://mvnrepository.com/artifact/org.projectlombok/lombok

build.gradle

def lombokVersion = '1.18.36'

//dependency
//Lombok
compileOnly "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
        

Установить Idea Plugin

Lombok