О курсе
Spring Data - эффективный механизм для взаимодействия с базами данных для Java приложений. С помощью Spring Data удобно работать с сущностями базы данных, организовывать их в репозитории, извлекать данные, проводить с ними различные операции.
На курсе "Создание приложений с помощью Spring Data" вы рассмотрите использование этого инструмента с основ до детальных практических аспектов. В течение курса вы с помощью Spring Data запроектируете базу данных "Записная книжка", определите структуру таблиц и связи между ними. На основе созданной базы данных вы на практике рассмотрите создание web-приложения с использованием языка Java и фреймворка Spring Boot.
Этот курс входит в специальности:
Предварительные Требования
- Уверенный уровень знания языка Java, владение основами HTML, CSS. Базовые знания по СУБД MySQL.
Вы научитесь
- Понимать основные типы баз данных, которые существуют и используются в разработке корпоративных приложений.
- Проектировать базы данных для использования в проектах на основе фреймворка Spring.
- Реализовывать взаимодействие приложения с базами данных средствами Spring Data.
- Работать с реляционными базами данных с помощью Spring Data.
- Реализовывать CRUD-операции с таблицами в БД.
- Использовать плагин JPA Buddy, входящий в состав IntelliJ IDEA, для автоматизации создания запросов и подключения их как аннотаций к соответствующим методам репозиториев.
- Понимать основные компоненты web-приложения в соответствии со стереотипами Controller, Service, Component.
- Визуализировать результаты запросов к базам данных в виде web-приложения на основе Spring Boot.
- Понимать, как web-приложение обрабатывает различные типы HTTP-запросов (GET, POST, PUT, DELETE...) с помощью аннотаций в классе контроллера. Использовать основные теги для формирования web-элементов с использованием Thymeleaf.
- Работать с исключительными ситуациями (Exceptions), которые могут возникать при работе с Spring Data.
- Реализовывать тестирование приложений с использованием JUnit 5. Создавать собственные исключения для улучшения надежности, читабельности и управляемости кода в процессе обработки ошибок.
- Понимать особенности работы и реализовывать REST API для своего приложения.
- 8 ч 41 м
- 26.08.2024
- 11 из 11
- 26.08.2024
- украинский
Что входит в курс
На этом уроке предоставляется обзор курса. Рассматриваются основные типы баз данных, которые существуют и используются в разработке корпоративных приложений. Больше внимания уделяется реляционным СУБД работающих в архитектуре "Клиент-сервер" и поддерживаемых Spring Data. Главное внимание уделяется одной из самых распространенных СУБД - MySQL. Далее, рассматриваются уровни абстракции при доступе к данным и краткая историческая справка их появления и обретения популярности. Рассматривается взаимная связь механизмов доступа к данным. Проводится описание приложения "Записная книжка", которое будет разрабатываться на протяжении курса, и в режиме лайв-кодинга создаётся база данных для неё, что на первом этапе содержит одну таблицу и в дальнейших уроках будет расширена для хранения всех данных приложения.
На данном уроке происходит сравнительный анализ клиент-серверных СУБД, из которого ученики получат информацию о СУБД H2, которую удобно использовать для тестирования приложений из-за возможности ее работы в embedded mode и клиент-серверных СУБД PostreSQL и MySQL. Рассматриваются составные части таблиц в базе данных, понятие ключевых и неключевых полей и механизмы образования связей между таблицами путем использования внешних ключей. Рассматриваются ограничения на операции с данными в таблицах на основе внешних ключей. В режиме лайв-кодинга создаются связанные таблицы на сервере MySQL в среде IntelliJ IDEA.
В этом уроке главное внимание уделяется начальным шагам создания Spring Boot приложения. Рассматривается два варианта создания структуры проекта с помощью Spring Initializer: на странице https://start.spring.io и с помощью wizard в IntelliJ IDEA. Уделяется внимание настройке зависимостей и конфигурированию приложения. Рассматриваются файлы настроек приложения application.properties и application.yml - их структура и необходимые параметры настроек для приложения с использованием Spring Data. После этого, в режиме лайв-кодинга разрабатывается консольное приложение Spring Data, реализующее отображение тестовых данных, которые предварительно были загружены в таблицу базы данных "Записная книжка" на сервере MySQL.
Этот урок посвящен основам разработки web-приложений с использованием Spring Boot и шаблонизатора Thymeleaf. Рассматриваются зависимости, которые следует подключить при создании приложения (Spring Web, Thymeleaf, Lombok...). Проводится анализ структуры web-приложения в среде IntelliJ IDEA. Рассматриваются основные компоненты web-приложения в соответствии со стереотипами Controller, Service, Component. Особый акцент делается на понимании того, как web-приложение обрабатывает различные типы HTTP-запросов (GET, POST, PUT, DELETE...) с помощью аннотаций в классе контроллера. Рассматриваются основные теги для формирования web-элементов с использованием Thymeleaf. В режиме лайв-кодинга создается структура и основные компоненты: котроллеры, сервисы и страницы приложения.
Этот урок посвящен подключению Spring Data к web-приложению. Рассматривается использование основных типов Repository для взаимодействия с БД. Ученики овладеют знаниями о порядке создания методов контроллеров и сервисов для реализации CRUD-операций с таблицами в БД. Особое внимание уделяется вопросам настроек аннотаций в классах сущностей, описывающих связи между таблицами. Рассматривается проблема "N+1" при работе с БД с помощью JPA и пути её преодоления или минимизации её влияния. В режиме лайв-кодинга реализуются CRUD операции с таблицами БД.
В этом уроке главное внимание уделяется исключительным ситуациям (Exceptions), которые могут возникать при работе с Spring Data и тестированию приложений с использованием JUnit 5. Обосновывается создание собственных исключений для улучшения надежности, читабельности и управляемости кода в процессе обработки ошибок. Разбираются механизмы и библиотеки модульного тестирования приложений и различные типы тестов (тесты на равенство, неравенство, соответствие, параметризованные тесты). В режиме лайв-кодинга разрабатываются тесты для основных методов приложения.
Этот урок ставит целью рассмотреть основные возможности языков SQL и JPQL для создания запросов к БД. Во время урока ученики будут изучать структуру запросов, как в традиционном языке SQL (Native Queries) так и в языке JPQL. На уроке будут рассмотрены примеры запросов и подключения их в репозитории. Основной "изюминкой" урока является использование плагина JPA Buddy, который входит в состав IntelliJ IDEA для автоматизации создания запросов и подключения их как аннотаций к соответствующим методам репозиториев. В режиме лайв-кодинга создаются и тестируются методы запросов для приложения "Записная книжка"
Данный урок углубляет знания учеников о создании запросов к базе данных с использованием методов репозиториев. Важное место занимает рассмотрение методов, возвращающих один объект, в том числе возвращающих Optional - контейнер, который может содержать объект сущности, или является пустым. Такие объекты являются лучшей альтернативой возвращению null-значений. Рассматривается концепция проекций таблиц базы данных и аннотации создания вычисляемых полей. Также рассматриваются методы, которые возвращают коллекции, или стримы. Ученики ознакомятся с возможностями сортировки и разбиения на страницы данных, получаемых из БД. В режиме лайв-кодинга на уроке будут рассмотрены примеры запросов на основе имен методов и подключения их в репозитории.
На данном уроке рассматривается понятие транзакции и использование их при реализации приложений Spring Data. Уделяется внимание корректному использованию аннотации @Transactional в компонентах приложений Spring. Рассматривается настройка каскадирования операций с таблицами БД. Реализуются связи и взаимодействие таблиц, которые образуют отношения Many-To-Many. В режиме лайв-кодинга реализуется взаимодействие со связанными таблицами БД и каскадирование изменений.
Урок посвящен оформлению приложения. Для стилизации web-страниц приложения и реализации подтверждения операции с базой данных рассматривается использование библиотеки Bootstrap. Рассматриваются простые шаблоны всплывающих диалоговых окон для подтверждения операций удаления и обновления данных в таблицах БД. В режиме лайв-кодинга выполняется оформление приложения с использованием стилизации Bootstrap и диалоговых окон подтверждения.
Урок посвящен реализации REST API для приложения "Записная книжка". Для реализации основных операций создается REST Controller, который содержит соответствующие методы REST API для манипуляции с данными (CRUD-операции, сложные запросы в БД). Выполняется тестирование с использованием HTTP-клиентов (встроенного в IntelliJ IDEA и сторонних). В режиме лайв-кодинга создается REST-controller для приложения и выполняется тестирование его методов. В конце урока даются рекомендации по дальнейшему обучению.