Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички / spring_lab4.pdf
Скачиваний:
0
Добавлен:
28.06.2026
Размер:
111.26 Кб
Скачать

Лабораторная работа №4

Разработка веб-приложения на Spring Boot. Работа с данными

Цель работы

Научиться работать с данными в Spring Boot-приложении с использованием Spring Data JPA и Hibernate: подключать приложение к базе данных PostgreSQL, создавать JPA-сущности и репозитории, реализовывать базовые CRUD-операции, настраивать связи между таблицами, использовать транзакции, валидировать входные данные и обрабатывать ошибки.

Теоретическая часть

Spring Data JPA — это модуль Spring, который упрощает работу с данными и позволяет взаимодействовать с базой данных через интерфейсы репозиториев. Вместо написания большого количества шаблонного кода разработчик описывает сущности и создает интерфейсы, наследуемые от JpaRepository , а Spring автоматически предоставляет готовую реализацию базовых операций.

Hibernate — это ORM-фреймворк, реализующий спецификацию JPA. Он отвечает за отображение Java-объектов на таблицы базы данных, формирование SQL-запросов, работу со связями между сущностями и участие в транзакциях.

В данной лабораторной работе будет использоваться приложение системы уведомлений spring-lab3-notifications , разработанное ранее. Теперь вместо имитации слоя данных приложение будет работать с реальной базой данных PostgreSQL.

Слоистая архитектура

@Controller — принимает HTTP-запросы и возвращает ответы

@Service — содержит бизнес-логику

@Repository — выполняет операции доступа к данным

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

Entity — класс, связанный с таблицей базы данных

Repository — интерфейс доступа к данным

JPA — спецификация для работы с ORM в Java

Hibernate — реализация JPA

Transaction — группа операций, которая должна выполниться целиком или не выполниться вовсе

Validation — проверка корректности входных данных до их сохранения

Ход выполнения работы

Часть 0. Подготовка

1. Убедитесь, что у вас установлены:

1

2.IntelliJ IDEA

3.PostgreSQL

4.DBeaver

5.Postman

6.Используйте существующий проект spring-lab3-notifications .

7.Создайте базу данных PostgreSQL для проекта в DBeaver:

8.откройте DBeaver;

9.нажмите New Database Connection;

10.выберите PostgreSQL;

11.укажите параметры подключения к вашему серверу PostgreSQL;

12.после подключения создайте новую базу данных spring_lab3_notifications через интерфейс DBeaver.

13.Проверьте, что база данных создана и доступна для подключения.

Часть 1. Подключение Spring Data JPA и PostgreSQL

1.Добавьте в pom.xml зависимости для работы с Spring Data JPA, PostgreSQL, Lombok и валидацией:

<dependency>

<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<dependency>

<groupId>org.postgresql</groupId>

<artifactId>postgresql</artifactId>

<scope>runtime</scope>

</dependency>

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<optional>true</optional>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId>

</dependency>

2

Роль каждой зависимости:

spring-boot-starter-data-jpa — подключает Spring Data JPA и Hibernate. Эта зависимость позволяет работать с JPA-сущностями, создавать интерфейсы репозиториев, использовать JpaRepository , а также автоматически формировать SQL-запросы через

Hibernate.

postgresql — JDBC-драйвер PostgreSQL. Он нужен приложению для подключения к внешней базе данных PostgreSQL.

lombok — библиотека для сокращения шаблонного кода. С ее помощью можно

автоматически генерировать геттеры, сеттеры, конструкторы, builder и другие вспомогательные элементы.

spring-boot-starter-validation — подключает Bean Validation. Эта зависимость нужна для проверки входных данных через аннотации @NotBlank , @NotNull , @Email ,

@Pattern и другие.

Вынесите параметры подключения к базе данных в переменные окружения. Например, в

.env :

DB_URL=${yourHost}

DB_USERNAME=${yourUserName}

DB_PASSWORD=${yourPassword}

Чтобы значения из .env корректно использовались при запуске приложения, настройте их в

IntelliJ IDEA:

откройте Run Edit Configurations;

выберите конфигурацию запуска вашего Spring Boot-приложения;

найдите раздел Environment variables;

добавьте туда переменные DB_URL , DB_USERNAME , DB_PASSWORD или подключите

.env , если используете соответствующий плагин;

• сохраните изменения и запускайте приложение через эту конфигурацию.

Без этого Spring Boot не сможет получить значения переменных окружения, и подключение к базе данных завершится ошибкой.

1. В файле application.properties добавьте:

spring.datasource.url=${DB_URL} spring.datasource.username=${DB_USERNAME} spring.datasource.password=${DB_PASSWORD}

spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true

3

Соседние файлы в папке Методички