Назад к вопросам
Junior — Middle
67
Каким образом в Spring реализуется принцип инверсии управления (IoC)?
Ответ от нейросети
sobes.tech AI
В Spring принцип инверсии управления (IoC) реализуется через контейнер Spring IoC, который управляет созданием, конфигурацией и жизненным циклом объектов (бинов). Вместо того чтобы объекты сами создавали и связывали зависимости, контейнер внедряет необходимые зависимости в объекты, используя внедрение зависимостей (Dependency Injection).
Например, если у класса есть зависимость от другого класса, Spring автоматически создаст и передаст эту зависимость через конструктор, сеттер или поля, основываясь на конфигурации (аннотации или XML).
Пример с аннотациями:
@Component
public class Service {
private final Repository repository;
@Autowired
public Service(Repository repository) {
this.repository = repository;
}
}
@Component
public class Repository {
// ...
}
Здесь Spring сам создаст экземпляр Repository и передаст его в конструктор Service, обеспечивая инверсию управления.