Назад к вопросам
Junior — Middle
61
Каким образом осуществляется внедрение зависимостей в рамках Spring Framework?
Ответ от нейросети
sobes.tech AI
Внедрение зависимостей (Dependency Injection, DI) в Spring Framework осуществляется с помощью контейнера Spring IoC (Inversion of Control). Основные способы внедрения зависимостей:
- Через конструктор — зависимости передаются через параметры конструктора класса.
- Через сеттеры (setter injection) — зависимости устанавливаются через методы-сеттеры.
- Через поля (field injection) — зависимости внедряются напрямую в поля с помощью аннотации
@Autowired.
Пример внедрения через конструктор:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
// методы
}
Для работы DI компоненты должны быть объявлены как Spring-бины с помощью аннотаций @Component, @Service, @Repository или через XML-конфигурацию. Контейнер автоматически создает экземпляры и внедряет зависимости.
Аннотация @Autowired указывает Spring, что нужно автоматически подставить нужный бин.