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 та перший запуск