🚀 Основні поняття (Core Concepts)

  • Spring Boot — розширення фреймворку Spring, яке спрощує створення самодостатніх Java-додатків завдяки автоматизації налаштувань.
  • Framework (Фреймворк) — набір готових інструментів та бібліотек, які визначають структуру додатку та правила його написання.
  • Convention over Configuration (Домовленість понад конфігурацією) — принцип, за яким Spring Boot вже має "розумні" налаштування за замовчуванням, тому розробнику потрібно втручатися лише у специфічні моменти.
  • Inversion of Control (IoC) — принцип, за яким керування життєвим циклом об’єктів передається від розробника до фреймворку (контейнеру).
  • Dependency Injection (DI) — механізм, через який об'єкт отримує свої залежності (інші об'єкти) ззовні, а не створює їх самостійно.

📦 Компоненти та інструменти

  • Spring Initializr (start.spring.io) — веб-інструмент для швидкої генерації структури проекту (вибір мови, версії Java та залежностей).
  • Starter Dependencies — набори бібліотек, згруповані за функціоналом (наприклад, web, test, data-jpa), які підключаються одним рядком.
  • Embedded Server (Вбудований сервер) — сервер (як-от Tomcat), який "зашитий" безпосередньо в JAR-файл додатку, що дозволяє запускати його без встановлення стороннього софту.
  • Fat JAR / Executable JAR — файл архіву, який містить і код програми, і всі необхідні бібліотеки, і вбудований сервер.

🏷️ Ключові анотації

  • @SpringBootApplication — головна анотація, яка позначає точку входу в додаток і запускає механізми автоконфігурації та сканування компонентів.
  • @Component — загальна анотація для будь-якого класу, яким має керувати Spring (перетворює клас на Bean).
  • @Bean — анотація над методом, яка каже Spring, що результат виконання цього методу треба зареєструвати як об'єкт у контексті додатку.
  • @Service — спеціалізація @Component для класів, що містять бізнес-логіку.
  • @Repository — спеціалізація для класів, що працюють із базою даних.

⚙️ Механізми роботи

  • Auto-configuration — процес, під час якого Spring Boot автоматично налаштовує компоненти на основі наявних у проекті бібліотек (наприклад, сам налаштовує базу даних, якщо бачить драйвер у залежностях).
  • Application Context — контейнер, де Spring зберігає та керує всіма створеними об'єктами (бінами).
  • Component Scanning — автоматичний пошук класів з анотаціями (@Component, @Service тощо) у пакетах вашого проекту для їх реєстрації.



Остання зміна: середа 20 травня 2026 12:24 PM