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

Инъекция зависимостей с Spring и Ломбок

Уже знаем несколько способов придать объекты в класс, в рамках проекта Spring, как записать… С пометкой весна, весенний ботинок, ява, ломбок.

Уже знаем несколько способов придать объекты в класс, в рамках проекта Spring, как аннотировать с @Autowired атрибут класса или конструктор.

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

1 форма: @AllArgsConstructor

О Ломбоке поссуи аннотацию AllArgsConstructor , который создает конструктор со всеми атрибутами класса. Но, используя атрибут annotation onConstructor , позволяет вам указать, какой annotation должна быть включена в конструктор, созданный:

@RestController
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class UserController {

    private UserService userService;
    private Profession professionService;

    /*
     * Ao invés de usar assim:
     *
     * @Autowired
     * private UserService userService;
     *
     * @Autowired
     * private Profession professionService;
     *
    */
}

2 форма для заполнения: @RequiredArgsConstructor

Просто аннотировать класс с annotation @RequiredArgsConstructor , который создает конструктор со всеми атрибутами конце класса. Так, Spring впрыскивает для нас все обязательные зависимости.

@RestController
@RequiredArgsConstructor
public class UserController {

    private final UserService userService;
    private final Profession professionService;

    /*
     * Ao invés de usar assim:
     *
     * @Autowired
     * private UserService userService;
     *
     * @Autowired
     * private Profession professionService;
     *
    */
}

Напоминание!

Создать строителей в абстрактных классов заставляет вас создавать конструкторы в классах дочери, вызвав конструктор родительского класса.

Характеристика

Оригинал: “https://dev.to/leilasoliveira/injecao-de-dependencias-com-spring-e-lombok-akd”