Spring Boot 3+

Фреймворк для швидкого створення серверних застосунків та REST API
Java 17+
Spring Web
Spring Data JPA
REST
JSON
H2 / MySQL

1) Spring vs Spring Boot — коротко

Spring це “екосистема”

Набір модулів для серверної розробки: залежності, DI, web, security, доступ до БД, транзакції тощо.

Spring Boot це “швидкий старт”

Дає готову конфігурацію “з коробки”: стартуєш проєкт за хвилини, а не налаштовуєш руками 2 години.

2) Чому “Boot” — що він робить за вас

  • Автоконфігурація: підключив залежність → Boot сам підбирає налаштування.
  • Starter-залежності: один “starter” тягне все потрібне для модуля (web/jpa/validation).
  • Вбудований сервер: запускаєте застосунок як звичайний Java-процес (Tomcat/Jetty/Undertow).
  • Єдине місце конфігурації: application.properties / application.yml.
  • Стандарти: структура проєкту та підходи, які “як у реальній роботі”.

3) Як виглядає мінімальний REST endpoint

Це рівень “Hello API” — і він уже працює як сервер.

@RestController @RequestMapping("/users") public class UserController { @GetMapping public List<String> getAll() { return List.of("Ivan", "Oksana"); } }

4) Типова архітектура (те, що ви будете робити на практичній)

Шари застосунку
  • Controller — приймає HTTP-запити
  • Service — бізнес-логіка
  • Repository — доступ до БД
  • Entity — таблиця/модель
Потік виконання
Postman/Browser → Controller → Service → Repository → DB

Це “скелет” 90% enterprise backend.

5) Порівняння: Spring Boot vs “голий” Java Web

Без Spring Boot (умовно “Servlets руками”)
  • Багато конфігурації вручну
  • Менше стандартів → більше хаосу
  • Складніше тестувати, розширювати
  • Повільний старт для новачка
З Spring Boot
  • Швидкий старт: залежності + мінімум коду
  • Стандартна структура проєкту
  • Зручно підключати БД, валідацію, логування
  • Те, що найчастіше просять на роботі

6) Порівняння з іншими популярними backend-підходами

Важливо: не “хто кращий назавжди”, а “для чого підходить”.

  • Node.js / Express — швидкий старт, багато фронтендерів. Але Java часто сильніша у великих enterprise-системах.
  • Python / Django — дуже швидка розробка CRUD, але Java часто виграє стабільністю/типізацією у великих командах.
  • .NET — прямий конкурент Java. Вибір часто залежить від компанії/екосистеми.

Для курсу ми беремо Spring Boot, бо він дає “правильну” архітектуру, яку потім легко перенести в реальну роботу.

7) Що важливо знати про Spring Boot 3+

  • Java 17+ — мінімальна вимога.
  • Jakarta замість javax (перехід у нові пакети) — тому старі приклади з інтернету інколи “не компіляться”.
  • REST-first — найтиповіший формат взаємодії: JSON + HTTP.
  • Добре лягає на сучасний деплой: Docker / хмари / CI/CD (згодом).

8) Що студенти мають винести з цієї лекції

  • Розуміти, що таке backend і чим він займається.
  • Розуміти роль Spring Boot у створенні API.
  • Знати структуру проєкту: Controller / Service / Repository / DB.
  • Бути готовими до практичної: створити проєкт, підключити БД, зробити перші endpoints.

Далі: створення проєкту через Spring Initializr та перший запуск