Какой тип внедрения зависимостей используется, когда у нас есть @Autowire в поле класса?
Одним из способов является использование DI setter
методы. Другой способ использует constructor
,
Мне просто интересно узнать, какой тип DI следующий путь:
public class Test {
@Autowired
TestService service;
...
}
2 ответа
Это "полевая инъекция". Как правило, вы можете выбрать один из 3 типов:
- Полевая инъекция
- Конструктор инъекций
- Сеттер впрыска
У каждого из них есть свои преимущества и недостатки. Во время полевых испытаний инъекция является обычной практикой.
В случае @Autowiring в классе, как:
public class Test {
@Autowired
TestService service;
...
}
Автоматическое связывание вашего объекта с использованием отражения, следовательно, нет необходимости в методах Setter
Проверьте это сообщение: Как работает Spring @Autowired