Skip to the content.

Технологии программирования

Назад на главную

Конспект лекции: Фреймворк Spring


1. Введение

Что такое Spring?

Преимущества Spring


2. Архитектура Spring

Основные модули

  1. Core Container
    • IoC-контейнер: управление жизненным циклом объектов (бинов).
    • DI: внедрение зависимостей через конструктор, сеттеры или аннотации.
  2. Spring MVC
    • Фреймворк для создания веб-приложений на основе паттерна MVC (Model-View-Controller).
  3. Spring Data Access
    • Упрощение работы с базами данных (JDBC, JPA, Hibernate).
    • Spring Data JPA: автоматическая генерация репозиториев.
  4. Spring Boot
    • Надстройка для быстрого старта проектов.
    • Автоконфигурация, встроенный сервер (Tomcat), стартеры.

3. Dependency Injection (DI) и IoC

Ключевые понятия

Пример кода

@Component
public class UserService {
    private final UserRepository repository;

    @Autowired // DI через конструктор
    public UserService(UserRepository repository) {
        this.repository = repository;
    }
}

Основные аннотации Spring и Spring Boot


4. Основные аннотации Spring

4.1. Аннотации для создания бинов

@RestController
public class UserController { ... }

4.2. Аннотации для внедрения зависимостей

4.3. Конфигурационные аннотации

5. Spring Boot

Особенности Spring Boot

  1. Автоконфигурация

Spring Boot автоматически настраивает компоненты на основе зависимостей в проекте (например, подключение к БД).

  1. Встроенный сервер

Запуск приложения через встроенный Tomcat, Jetty или Undertow (не требуется развёртывание WAR).

  1. Стартеры (Starters)

Готовые наборы зависимостей для быстрого старта (например, spring-boot-starter-web для веб-приложений).

  1. Упрощённая конфигурация

Настройки в файле application.properties/application.yml (порт, БД, логирование и др.).

Генерация шаблона приложения

Используйте Spring Initializr:

  1. Перейдите на https://start.spring.io.

  2. Заполните параметры:
    1. Project: Maven/Gradle.
    2. Language: Java.
    3. Dependencies: Выберите нужные (например, Spring Web, Spring Data JPA, H2 Database).
  3. Сгенерируйте проект и откройте его в IDE (IntelliJ IDEA, Eclipse).