О курсе
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 для своего приложения.
- 4 ч 13 м
- в записи
- 6
- 6 из 11
- украинский
Что входит в курс
На этом уроке предоставляется обзор курса. Рассматриваются основные типы баз данных, которые существуют и используются в разработке корпоративных приложений. Больше внимания уделяется реляционным СУБД работающих в архитектуре "Клиент-сервер" и поддерживаемых 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. Обосновывается создание собственных исключений для улучшения надежности, читабельности и управляемости кода в процессе обработки ошибок. Разбираются механизмы и библиотеки модульного тестирования приложений и различные типы тестов (тесты на равенство, неравенство, соответствие, параметризованные тесты). В режиме лайв-кодинга разрабатываются тесты для основных методов приложения.