Короткий ответ
Spring Boot — фреймворк, построенный поверх Spring Framework и упрощающий разработку автономных (stand-alone) приложений, готовых к продакшену. Его ключевые механизмы — авто-конфигурация, стартовые зависимости (starters) и встроенный веб-сервер.
Как это работает подробнее
Spring — это общий фреймворк: контейнер IoC/DI, AOP, Spring MVC, управление транзакциями; он требует довольно большой ручной настройки и, как правило, внешнего сервера. Spring Boot — расширение, которое работает «поверх» Spring и использует те же Spring Core, Spring AOP и Spring MVC, но сильно упрощает их применение.
- Авто-конфигурация: убирает большую часть шаблонной ручной конфигурации, в первую очередь XML-настройку.
- Стартеры: берут на себя управление зависимостями — не нужно вручную подбирать версии библиотек.
- Встроенный сервер: Tomcat, Jetty или Undertow позволяют запускать приложение как обычный исполняемый JAR без внешнего сервера.
- Production-возможности: например, Actuator для мониторинга; Boot удобен для облачных приложений и микросервисов.
Пример кода
Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}Что использовать на практике
- Для типовых REST API, микросервисов и enterprise-приложений выбирайте Spring Boot — сегодня это стандарт де-факто.
- Не считайте Boot заменой Spring: это надстройка, использующая его модули (Spring Core, AOP, MVC).