Sobes.tech
Назад к вопросам
Junior — Middle
65

Можете объяснить принцип внедрения зависимостей в Spring и как это реализовано?

Ответ от нейросети

sobes.tech AI

Внедрение зависимостей (Dependency Injection, DI) в Spring — это принцип, при котором объекты получают свои зависимости извне, а не создают их самостоятельно. Это повышает модульность и облегчает тестирование.

В Spring DI реализован через контейнер IoC (Inversion of Control), который управляет жизненным циклом объектов и их зависимостями. Зависимости можно внедрять через:

  • Конструктор
  • Сеттеры
  • Поля (с помощью аннотаций)

Пример внедрения через аннотации:

@Component
public class UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}

Здесь Spring автоматически создаст и передаст нужный объект UserRepository в конструктор UserService.