Spring - «lightweight» фреймворк (объём кода, который необходимо написать программисту – минимален).
Для чего нужен Spring? : В springBoot очень много магии с автоконфигурацией(из-за чего опытные разработчики не любят спрингБут).
@EnableAutoConfiguration - главная фишка springBoot'а! Она позволяет автоматически настраевать подключаемые
библиотеки(например монгу она настраевает и автоматически поднимает коннекшены к базе).