Ответ
Spring Boot — это фреймворк поверх Spring, который радикально упрощает создание standalone-приложений за счет конвенций и автоматической конфигурации.
Основные преимущества:
- Автоконфигурация (Auto-configuration): Автоматически настраивает компоненты на основе classpath и свойств приложения, минимизируя ручную конфигурацию (XML, Java Config).
- Starter-зависимости: Упрощает управление зависимостями через готовые POM-модули (например,
spring-boot-starter-web,spring-boot-starter-data-jpa). - Встроенные серверы (Embedded Servers): Приложение может запускаться как самостоятельный JAR-файл со встроенным Tomcat, Jetty или Undertow.
- Production-ready фичи: Готовые инструменты для мониторинга, метрик, проверки работоспособности через Spring Boot Actuator.
- Упрощенная разработка: Минимум boilerplate-кода, быстрый старт проекта.
Пример минимального REST-приложения:
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
Запуск: java -jar app.jar. Приложение будет доступно на порту 8080 со встроенным сервером.