Spring Initializr — створення проєкту

На цьому екрані ми задаємо “скелет” майбутнього Spring Boot застосунку: тип збірки, мову, версію, метадані, упаковку і Java.
Maven
Java
Spring Boot 3+
Jar
Properties
Java 17
Spring Initializr settings (8.1.png)
Рис. 2 Налаштування Spring Initializr. Зелені позначки — рекомендований вибір для нашої практичної.

1) Project: Maven / Gradle — що це таке

Це система збірки: як проєкт завантажує бібліотеки, компілюється, запускає тести і збирає jar-файл.

  • Maven — класика Java-світу, дуже часто в навчанні та enterprise.
  • Gradle — теж популярний, але для новачків частіше складніше на старті.

Для практичної: беремо Maven, бо він простіший і прогнозований для групи.

2) Language: Java / Kotlin / Groovy

  • Java — основна мова курсу і найпоширеніший варіант у Spring-проєктах.
  • Kotlin — крута, але це інша мова і інший синтаксис (не змішуємо на старті).
  • Groovy — рідше використовується для сучасних Spring Boot backend як основна мова.

Для практичної: вибираємо Java.

3) Spring Boot version: SNAPSHOT / M1 / stable

Тут важливо розуміти різницю:

  • SNAPSHOT — “ще в розробці”, може ламатися і мінятися.
  • M1 / Milestone — тестова попередня версія (не фінальна).
  • Stable (реліз) — стабільна версія для нормальної роботи.

Для практичної: обираємо стабільну версію (на зразок 3.x). SNAPSHOT/M1 — не беремо.

4) Project Metadata — що означають поля

Group (наприклад: com.example)

Це “корінь” для package-ів. Зазвичай використовують домен у зворотному напрямку. У реальних проєктах це може бути: ua.ldubgd або com.company.

Artifact (наприклад: demo)

Назва артефакту/модуля. Впливає на назву папки проєкту і jar-файлу.

Name (наприклад: demo)

“Людська” назва проєкту (часто збігається з Artifact).

Description

Опис проєкту. На роботу коду майже не впливає, але це частина “охайності” проєкту.

Package name (наприклад: com.example.demo)

Це базовий пакет, всередині якого Spring буде шукати компоненти (controllers/services/repositories). Якщо розкидаєте класи поза цим пакетом — Spring може їх не “бачити”.

Правило: головний клас Spring Boot має бути в “корені” вашого package name.

5) Packaging: Jar vs War

  • Jar — стандарт Spring Boot: запускаємо як звичайний застосунок (вбудований сервер).
  • War — старий підхід: деплой у зовнішній Tomcat (частіше legacy-системи).

Для практичної: беремо Jar. Це швидше і простіше.

6) Configuration: Properties vs YAML

  • application.properties — прості “ключ=значення”, легко читати новачкам.
  • application.yml — структура з відступами, зручно для великих конфігів, але можна “вбитися” об пробіли.

Для практичної: обираємо Properties.

7) Java: 17 / 21 / 25 — що вибираємо і чому

Spring Boot 3+ орієнтується на сучасну Java. Для курсу нам важлива стабільність і сумісність.

  • Java 17 — дуже стабільна база, мінімум сюрпризів, підтримується Spring Boot 3.
  • Java 21 — теж популярний вибір (LTS), але якщо група вся на 17 — не розвалюємо середовище.
  • Java 25 — вже занадто нова для навчальної стандартизації.

Для практичної: беремо Java 17 (єдина версія для всієї групи).

8) Після заповнення — що буде згенеровано

Після натискання Generate ми отримуємо zip-архів з мінімальним проєктом:

  • pom.xml (Maven залежності)
  • src/main/java + головний клас Spring Boot
  • src/main/resources + application.properties
  • структура готова для додавання Controller / Service / Repository
Порада: 1) Розпакували zip 2) Відкрили папку як проєкт в IntelliJ IDEA 3) Дочекались Maven sync 4) Запустили Application (Run)

Далі: вибір залежностей (Spring Web / Spring Data JPA / H2 або MySQL)