Перед определением IoC и DI, стоит кратко рассмотреть, что такое Spring Container. Данный контейнер является ответственным за создание и управление объектов (это контейнер, в котором будут находиться созданные объекты(бины), откуда мы их сможем извлекать, запустив приложение). Контейнер будет читать наш configuration file и внутри контейнера будет создаваться бин, который мы опишем в конфигурационном файле.