Какой тип внедрения зависимостей используется, когда у нас есть @Autowire в поле класса?

Одним из способов является использование DI setter методы. Другой способ использует constructor,

Мне просто интересно узнать, какой тип DI следующий путь:

public class Test {

    @Autowired
    TestService service;
    ...
}

2 ответа

Это "полевая инъекция". Как правило, вы можете выбрать один из 3 типов:

  • Полевая инъекция
  • Конструктор инъекций
  • Сеттер впрыска

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

В случае @Autowiring в классе, как:

public class Test {

    @Autowired
    TestService service;
    ...
}

Автоматическое связывание вашего объекта с использованием отражения, следовательно, нет необходимости в методах Setter

Проверьте это сообщение: Как работает Spring @Autowired

Другие вопросы по тегам