Рис. 3 — Вибір залежностей у Spring Initializr
Dependencies — це готові бібліотеки, які додають функціональність у наш проєкт без написання всього з нуля.
1️⃣ Spring Web — основа серверної частини
Spring Web — це головна залежність для створення веб-сервера та REST API.
Вона дозволяє:
- приймати HTTP-запити (GET, POST, PUT, DELETE);
- створювати REST-контролери;
- працювати з JSON;
- запускати вбудований сервер (Tomcat).
Без Spring Web ваш проєкт — це просто Java-програма, а не сервер.
2️⃣ Lombok — автоматизація рутинного коду
Lombok — бібліотека, яка автоматично генерує шаблонний код.
Він прибирає необхідність писати:
- getters / setters;
- конструктори;
- toString();
- equals() / hashCode().
Замість цього — кілька анотацій:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
Код стає коротшим і читабельнішим.
3️⃣ Spring Data JPA — робота з базою без SQL
Spring Data JPA — це міст між Java та базою даних.
Він дозволяє:
- зберігати об’єкти в таблиці;
- читати дані без SQL;
- працювати через Repository;
- використовувати Hibernate.
Замість SQL:
userRepository.findByEmail(email);
JPA саме зробить SELECT.
4️⃣ MySQL Driver — зв’язок з реальною БД
MySQL Driver — це “перекладач” між Java та MySQL.
Він потрібен для:
- підключення до сервера БД;
- передачі запитів;
- отримання результатів;
- керування транзакціями.
Без драйвера Java фізично не бачить базу.
5️⃣ Як ці залежності працюють разом
У реальному проєкті схема така:
- Spring Web — приймає запит;
- Controller — обробляє;
- Service — логіка;
- JPA — доступ до БД;
- MySQL Driver — підключення;
- Lombok — спрощує код.
6️⃣ Мінімальний набір для нашої практичної
- ✅ Spring Web
- ✅ Spring Data JPA
- ✅ Lombok
- ✅ MySQL Driver (або H2)
Це база для 80% навчальних і junior-проєктів.