Встречается на собеседованиях • сегодня

Как реализована инверсия контроля в Spring

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

Ключевые механизмы:

  1. ApplicationContext – центральный интерфейс для контейнера.
  2. Аннотации (@Component, @Service, @Autowired) – для автоматического связывания.
  3. Конфигурация – через XML, Java-классы (@Configuration) или автоматическое сканирование (@ComponentScan).

Пример:

java
@Service
public class UserService {
    @Autowired
    private UserRepository repository; // DI через поле
}

@Repository
public class UserRepository { ... }

// Конфигурация
@Configuration
@ComponentScan("com.example")
public class AppConfig { }

Spring находит бины, создает их и связывает зависимости автоматически. IoC упрощает тестирование и уменьшает связанность кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы