Цікава інформація 2.1
1. Еволюція: Від "пекла конфігурацій" до Spring Boot
Раніше, щоб створити простий веб-додаток на Java, розробнику доводилося:
- Вручну налаштовувати сотні рядків XML-файлів.
- Самостійно підбирати версії бібліотек, які не конфліктують між собою.
- Окремо встановлювати та налаштовувати сервер (наприклад, Tomcat).
Spring Boot з’явився як "рятівне коло". Його мета — зробити так, щоб ви могли просто натиснути "Run" і ваш додаток запрацював.
2. Три кити Spring Boot
Вся магія Spring Boot тримається на трьох концепціях:
- Starters (Стартери): Це готові "набори розробника". Замість того, щоб шукати 10 бібліотек для роботи з базою даних, ви додаєте один
spring-boot-starter-data-jpa. Це як замовити набір для приготування піци, де вже є все необхідне в правильних пропорціях. - Auto-configuration (Автоконфігурація): Spring Boot аналізує ваш проект. Бачить у коді анотацію для БД? Сам створює підключення. Бачить веб-бібліотеку? Сам запускає веб-сервер.
- Embedded Server (Вбудований сервер): Тепер сервер — це частина вашої програми, а не програма — частина сервера. Це дозволяє запакувати весь додаток у один
.jarфайл і запустити його де завгодно командоюjava -jar.
3. Головна анотація: @SpringBootApplication
Кожен проект починається з одного класу. Його головна анотація — це "двигун" системи. Вона об'єднує в собі:
- @Configuration: Дозволяє реєструвати нові об'єкти (біни).
- @EnableAutoConfiguration: Вмикає ту саму "магію" автоматичного налаштування.
- @ComponentScan: Наказує Spring пройтися по всіх папках проекту і знайти ваші класи з анотаціями
@Service,@Controllerтощо.
4. Розуміння IoC та Dependency Injection
Це найскладніша для новачків, але найважливіша частина.
- IoC (Inversion of Control): У звичайній програмі ви пишете
User user = new User(). У Spring ви кажете: "Мені потрібен об'єкт User", і Spring сам його створює і віддає вам. Керування (Control) передано фреймворку. - DI (Dependency Injection): Це спосіб доставки об'єктів. Якщо вашому Сервісу потрібен Репозиторій, Spring просто "впорскує" (Inject) репозиторій у сервіс при створенні.
Приклад (як це бачить Spring):
@Service // Кажемо Spring: "Візьми цей клас під контроль"
public class MyService {
private final MyRepository repository;
// Spring сам знайде MyRepository і передасть його сюди
public MyService(MyRepository repository) {
this.repository = repository;
}
}
5. Життєвий цикл запуску
Коли ви запускаєте метод
main:- Запускається Spring Application Context.
- Скануються ваші класи (Component Scan).
- Створюються об'єкти (Beans) і зв'язуються між собою (DI).
- Спрацьовує Автоконфігурація (підключення БД, налаштування безпеки).
- Запускається вбудований Tomcat на порту 8080.
- Додаток готовий приймати запити.
Остання зміна: середа 20 травня 2026 12:28 PM