Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Что такое Spring и Spring Boot

Spring — самый распространённый фреймворк для серверных приложений на Java. Он берёт на себя рутину: принимает HTTP-запросы, превращает объекты в JSON, работает с базой данных, проверяет пароли. Вам остаётся писать код, который относится именно к вашей задаче.

Spring и Spring Boot

Это два связанных проекта:

ПроектЧто делает
Spring FrameworkЯдро: создаёт объекты приложения и связывает их, обрабатывает веб-запросы, управляет транзакциями
Spring BootНадстройка над Spring: готовые настройки, встроенный веб-сервер, запуск одной командой

Раньше приложение на Spring приходилось долго настраивать вручную. Spring Boot делает это сам: видит, какие библиотеки подключены, и включает для них разумные настройки по умолчанию. Этот подход называется автоконфигурацией.

Версии в этом курсе

Курс написан для Spring Boot 4.1 — текущей основной версии. Она работает на Spring Framework 7 и требует Java 17 или новее; мы используем Java 25. Сборка проекта — через Maven.

Если вы встретите в интернете примеры для Spring Boot 2 или 3, многое в них совпадает, но названия некоторых зависимостей и пакетов изменились. Ориентируйтесь на код из этого курса.

Что мы построим

Через весь курс проходит один пример — блог:

  • REST API для статей, комментариев и пользователей с загрузкой картинок и документацией в Swagger UI;
  • хранение данных в базе через Spring Data JPA;
  • несколько HTML-страниц на шаблонизаторе Thymeleaf;
  • вход по логину и паролю через Spring Security и токены JWT для API;
  • тесты, в том числе на настоящей PostgreSQL, фоновые задачи, кеш и выкладка на сервер.

Путь запроса

Каждый запрос к приложению проходит одни и те же шаги:

  1. Клиент (браузер или curl) отправляет запрос, например GET /api/posts.
  2. Встроенный сервер Tomcat принимает его и передаёт Spring.
  3. Spring находит метод контроллера, отвечающий за этот адрес.
  4. Контроллер вызывает сервис с логикой приложения.
  5. Сервис читает или сохраняет данные через репозиторий.
  6. Результат превращается в JSON или HTML и уходит клиенту.

Каждому шагу посвящены отдельные уроки.

Что нужно знать заранее

Курс рассчитан на тех, кто прошёл учебник Java: классы, записи (record), коллекции, лямбды, исключения и основы JDBC. Также пригодится умение запускать команды в терминале. Для проверки API мы будем использовать curl — он есть в Windows 10+, macOS и Linux.

Частая ошибка

Spring и Spring Boot часто путают и ищут ответ «как настроить Spring», получая инструкции на XML из 2010 года. В современном проекте на Spring Boot XML-файлы настроек не нужны: всё задаётся аннотациями в Java-коде и файлом application.properties. Если в найденном примере есть applicationContext.xml или web.xml, он для другой эпохи.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.