Инверсия управления (IoC) и внедрение зависимостей (DI)
Инверсия управления — это принцип проектирования: вместо того чтобы класс создавал свои зависимости сам, он получает их из внешнего источника. Внедрение зависимостей — наиболее распространённый способ реализации IoC: контейнер создаёт объекты и внедряет их сотрудников. Контейнер IoC Spring — это движок, управляющий всем фреймворком.