Карта / Spring Boot / Первый запуск

Первый запуск

Spring Boot — надстройка над Spring, которая убирает ручную настройку, дающая работающее приложение почти сразу — “готовая кухня”, а не сборка плиты с нуля (как сказано в описании темы).

Минимальное Spring Boot-приложение:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@SpringBootApplication — это сразу три аннотации в одной: @Configuration (этот класс может содержать @Bean), @ComponentScan (сканировать пакет на наличие @Component/@Service и т.д.), @EnableAutoConfiguration (включить автоконфигурацию — подробнее в теме «Автоконфигурация»).

После запуска приложение поднимает встроенный веб-сервер (Tomcat по умолчанию) и готово принимать HTTP-запросы — без отдельной установки и настройки сервера приложений, как требовалось в старом Java-вебе.

Копнуть глубже

Чаще всего проект создают не вручную, а через Spring Initializr (start.spring.io) — выбираешь зависимости (Web, JPA, Security и т.д.), сайт генерирует готовый каркас проекта с pom.xml/build.gradle и базовой структурой папок.

Встроенный сервер — ключевое отличие от “классической” Java-разработки. Раньше приложение собиралось в .war-файл и разворачивалось на отдельно установленный сервер (Tomcat — см. тему «Tomcat: установка и настройка»). Spring Boot встраивает сервер внутрь самого приложения — запускаешь обычный .jar, и сервер поднимается автоматически вместе с приложением, ничего не нужно ставить отдельно.

🎤 Закрыл тему, если можешь объяснить:
• что делает `@SpringBootApplication` и из каких трёх аннотаций состоит;
• в чём разница встроенного сервера Spring Boot и классического разворачивания на отдельный Tomcat (если дошёл до 2-го слоя).