Spring Boot с нуля: Полное пошаговое руководство для начинающих разработчиков

Подробное руководство по созданию первого веб-приложения на Spring Boot с нуля. Включает настройку среды, создание проекта через Spring Initializr, разработку REST API, интеграцию с базой данных и сборку production-ready JAR файла.
Создание современного веб-приложения с нуля может показаться сложной задачей, особенно для новичков в мире Java. Однако фреймворк Spring Boot кардинально изменил этот процесс, превратив его из многочасовой настройки в быстрый старт за считанные минуты. Это руководство проведет вас через каждый шаг создания вашего первого Spring Boot приложения, от установки необходимых инструментов до развертывания работающего REST API.

Первым и самым важным шагом является подготовка среды разработки. Вам понадобится установленная Java Development Kit (JDK) версии 8 или выше. Рекомендуется использовать JDK 11 или 17, так как это долгосрочные поддерживаемые версии. Проверить установку можно командой `java -version` в терминале. Далее необходимо выбрать инструмент для управления зависимостями и сборки проекта. Spring Boot отлично работает с Maven и Gradle. Для этого руководства мы выберем Maven как более традиционный и широко распространенный инструмент в Java-экосистеме.

Теперь перейдем к созданию самого проекта. Самый простой способ — использовать онлайн-инструмент Spring Initializr, доступный по адресу start.spring.io. На этой странице вам нужно выбрать параметры проекта. Укажите Maven в качестве проекта, язык Java, версию Spring Boot (выберите последнюю стабильную) и заполните метаданные: Group (обычно доменное имя наоборот, например, com.example) и Artifact (название вашего приложения, например, myfirstapp). В разделе зависимостей добавьте ‘Spring Web’. Эта зависимость включает все необходимое для создания веб-приложения, включая встроенный Tomcat сервер. Нажмите кнопку ‘Generate’, и ZIP-архив с проектом будет загружен на ваш компьютер.

Распакуйте архив и откройте проект в вашей любимой IDE. IntelliJ IDEA Community Edition или Eclipse — отличный бесплатный выбор. Структура проекта будет стандартной для Maven: папка `src/main/java` для исходного кода, `src/main/resources` для ресурсов (конфигурации, статические файлы) и файл `pom.xml` — сердце проекта Maven, где описаны все зависимости. Откройте главный класс приложения, который будет называться `MyfirstappApplication` (или как вы назвали Artifact). Он уже содержит аннотацию `@SpringBootApplication` и стандартный метод `main`. Запустите этот класс прямо из IDE. Вы увидите в консоли логи запуска, и в конце сообщение о том, что Tomcat запущен на порту 8080.

Поздравляем, ваше Spring Boot приложение запущено! Но пока оно ничего не делает. Давайте создадим простой REST контроллер. В пакете рядом с главным классом создайте новый Java-класс с именем `HelloController`. Поместите в него следующий код. Используйте аннотацию `@RestController` над классом, чтобы Spring понимал, что это компонент, обрабатывающий HTTP-запросы. Создайте метод, возвращающий строку, и отметьте его аннотацией `@GetMapping("/hello")`. Это свяжет метод с GET-запросом по пути `/hello`. Перезапустите приложение и перейдите в браузере по адресу `http://localhost:8080/hello`. Вы должны увидеть ваше приветственное сообщение.

Теперь давайте углубимся и создадим что-то более полезное, например, простой API для управления списком задач. Для этого создадим модель данных — класс `Task` с полями: `id`, `title`, `description` и `completed`. Затем создадим сервисный слой — класс `TaskService`, который будет хранить задачи в памяти в виде `List` и содержать методы для их создания, чтения, обновления и удаления (CRUD). Пометив этот класс аннотацией `@Service`, мы сообщим Spring, что это компонент бизнес-логики. Наконец, создадим `TaskController` с аннотацией `@RestController` и `@RequestMapping("/api/tasks")`. Внедрите `TaskService` в контроллер с помощью `@Autowired`. Реализуйте методы `GET /api/tasks`, `GET /api/tasks/{id}`, `POST /api/tasks`, `PUT /api/tasks/{id}` и `DELETE /api/tasks/{id}`.

Для обработки данных, приходящих в `POST` и `PUT` запросах, используйте аннотацию `@RequestBody` перед параметром метода. Spring автоматически преобразует JSON из тела запроса в объект вашего класса `Task`. Не забудьте также использовать аннотацию `@PathVariable` для получения идентификатора из URL. После реализации всех методов протестируйте API с помощью инструментов вроде Postman или curl. Создайте новую задачу, получите список, обновите задачу и удалите ее. Ваше полнофункциональное backend-приложение готово.

Важной частью разработки является работа с базами данных. Spring Data JPA значительно упрощает эту задачу. Добавьте в `pom.xml` зависимости `spring-boot-starter-data-jpa` и драйвер для базы данных, например, `h2` для легкой in-memory базы. Создайте интерфейс `TaskRepository`, который будет расширять `JpaRepository`. Этого достаточно, чтобы получить готовые методы для сохранения, поиска и удаления сущностей. Обновите `TaskService`, чтобы он использовал `TaskRepository`, внедренный через `@Autowired`. Теперь ваши задачи будут сохраняться между перезапусками приложения (если вы используете H2 в файловом режиме, а не в чистой памяти).

Наконец, рассмотрим базовые принципы конфигурации и развертывания. Конфигурационные параметры, такие как порт сервера или настройки базы данных, можно задавать в файле `application.properties` или `application.yml` в папке `resources`. Чтобы изменить порт, добавьте строку `server.port=9090`. Для сборки исполняемого JAR-файла выполните в корне проекта команду Maven: `mvn clean package`. В папке `target` появится файл `myfirstapp-0.0.1-SNAPSHOT.jar`. Его можно запустить на любой машине с установленной Java простой командой `java -jar myfirstapp-0.0.1-SNAPSHOT.jar`. Это и есть та самая «магия» Spring Boot — автономное, производственное приложение, готовое к работе.

Это руководство охватило ключевые шаги: от инициализации проекта до создания REST API с доступом к данным. Дальнейшими шагами могут стать добавление валидации, безопасности с помощью Spring Security, написания unit-тестов и интеграция с внешними сервисами. Spring Boot предоставляет стартеры для всех этих задач, делая разработку сложных enterprise-приложений удивительно простой и быстрой.
217 2

Комментарии (7)

avatar
6p3sd5skj 27.03.2026
Спасибо за структурированный подход. После трех видео на ютубе только здесь все разложили по полочкам.
avatar
vgotb21f8xw 28.03.2026
Статья хорошая, но не хватает сравнения с другими фреймворками. Почему именно Spring Boot?
avatar
vol7ypwz83 28.03.2026
Хорошо, что упомянули про REST API в анонсе. Это именно то, что нужно для первого реального проекта.
avatar
48gtv98qt9 28.03.2026
Актуально ли это руководство для последней версии Spring Boot 3? Часто туториалы быстро устаревают.
avatar
40lfjkuiv1x 29.03.2026
Отличное руководство! Как раз искал что-то подобное для старта. Жду продолжения про работу с базой данных.
avatar
is36ueaczvlv 30.03.2026
Для новичков самое то! Особенно ценно, что с самого начала объясняют про среду разработки.
avatar
vgotb21f8xw 31.03.2026
Мне кажется, автор слишком упрощает. Настройка Maven/Gradle для новичка — это не две минуты работы.
Вы просмотрели все комментарии