Этот модуль поможет вам глубже понять ключевые аспекты управления данными в Spring, включая работу с JDBC, настройку транзакций и использование Spring Data JPA. Материал структурирован так, чтобы упростить подготовку к сертификационному экзамену Spring Professional и дать вам практическое понимание концепций.
Что включает модуль 03: управление данными в Spring
Этот модуль посвящён базовым и продвинутым механизмам взаимодействия Spring-приложений с данными. Вы изучите архитектурные принципы, API, а также наиболее эффективные подходы к работе с базами данных.
Основные темы модуля
Использование JDBC в Spring — настройка DataSource, применение JdbcTemplate, обработка исключений.
Транзакционное управление — декларативные и программные транзакции, распространение (propagation), изоляция, распространённые ошибки.
Spring Data JPA — репозитории, запросы, связь с EntityManager, работа с сущностями и жизненным циклом объектов.
JDBC в Spring: ключевые принципы
Spring упрощает работу с JDBC, устраняя необходимость самостоятельно управлять ресурсами и обрабатывать исключения.
JdbcTemplate и его преимущества
JdbcTemplate предоставляет удобный API для выполнения SQL-запросов и обновлений.
Преимущества
Автоматическое управление ресурсами.
Единая модель обработки ошибок.
Уменьшение шаблонного кода.
Транзакции в Spring
Транзакции — важнейшая часть работы с данными, обеспечивающая согласованность и целостность. Spring предлагает гибкую конфигурацию транзакций.
Декларативный подход
Самый распространённый способ — использование аннотации @Transactional, позволяющей сосредоточиться на бизнес-логике, а не инфраструктуре.
Ключевые параметры @Transactional
propagation — определяет, как транзакции сочетаются друг с другом.
isolation — уровень изоляции транзакции.
rollbackFor — настраиваемые условия отката.
Spring Data JPA: быстрый доступ к данным
Spring Data JPA значительно упрощает работу с JPA, позволяя разработчику сосредоточиться на моделировании данных, а не на инфраструктурной логике.
Репозитории
Репозитории предоставляют автоматическую реализацию CRUD-операций и позволяют определять методы запросов по соглашению об именовании.
Основные типы репозиториев
CrudRepository — стандартные CRUD-операции.
JpaRepository — расширенные возможности JPA.
PagingAndSortingRepository — поддержка пагинации и сортировки.
Как этот модуль поможет при подготовке к экзамену
Все темы представлены в формате, удобном для изучения и запоминания. Видеоуроки, разборы вопросов и примеры реального кода помогут вам уверенно ориентироваться в материале и успешно пройти сертификационный экзамен Spring Professional.
Урок 1.00:08:52
Question 01 - What is the difference between checked and unchecked [...]?
Урок 2.00:15:12
Question 02 - How do you configure a DataSource in Spring? [...]
Урок 3.00:10:16
Question 03 - What is the Template design pattern and what is the JDBC template?
Урок 4.00:17:34
Question 04 - What is a callback? What are the three JdbcTemplate [...]
Урок 5.00:01:33
Question 05 - Can you execute a plain SQL statement with the JDBC template?
Урок 6.00:07:20
Question 06 - When does the JDBC template acquire (and release) a [...]
Урок 7.00:06:06
Question 07 - How does the JdbcTemplate support generic queries? [...]
Урок 8.00:07:32
Question 08 - What is a transaction? What is the difference between [...]
Урок 9.00:03:23
Question 09 - Is a transaction a cross cutting concern? How is it [...]
Урок 10.00:08:32
Question 10 - How are you going to define a transaction in Spring? What [...]
Урок 11.00:04:52
Question 11 - Is the JDBC template able to participate in an existing [...]?
Урок 12.00:20:25
Question 12 - What is a transaction isolation level? How many do we have [...]
Урок 13.00:04:56
Question 13 - What is @EnableTransactionManagement for?
Урок 14.00:09:07
Question 14 - What does transaction propagation mean?
Урок 15.00:05:24
Question 15 - What happens if one @Transactional annotated method is [...]
Урок 16.00:03:30
Question 16 - Where can the @Transactional annotation be used? What is a [...]
Урок 17.00:02:37
Question 17 - What does declarative transaction management mean?
Урок 18.00:03:43
Question 18 - What is the default rollback policy? How can you override it?
Урок 19.00:04:02
Question 19 - What is the default rollback policy in a JUnit test, when [...]
Урок 20.00:08:28
Question 20 - Why is the term "unit of work" so important and why does [...]
Урок 21.00:07:38
Question 21 - What do you need to do in Spring if you would like to work [...]?
Урок 22.00:03:45
Question 22 - Are you able to participate in a given transaction in [...]
Урок 23.00:10:03
Question 23 - Which PlatformTransactionManager(s) can you use with JPA?
Урок 24.00:05:31
Question 24 - What do you have to configure to use JPA with Spring? [...]
Урок 25.00:06:30
Question 25 - What is a Repository interface?
Урок 26.00:05:59
Question 26 - How do you define a Repository interface? Why is [...]
Урок 27.00:05:44
Question 27 - What is the naming convention for finder methods in a [...]
Урок 28.00:09:48
Question 28 - How are Spring Data repositories implemented by Spring at runtime?
Udemy — одна из самых масштабных платформ в мире, предлагающая обучающий контент от авторов и экспертов со всего света. Сервис объединяет миллионы учеников и десятки тысяч преподавателей, создающих курсы на самые разнообразные темы.Основные возможности платформыШирокий выбор тем: от программирования и дизайна до маркетинга, психологии и личной эффективности.Глобальное сообщество авторов: материалы создаются специалистами из разных стран.Удобный ф