WebFlux. R2DBC с Postgres в Spring (плюс миграции с Flyway)

Опубликовано: 18 Октябрь 2024
на канале: letsCode
23,224
1.4k

Spring Boot WebFlux с R2DBC Postgres. Реактивный подход к работе с базами данных в Spring Boot

Поддержать проект:
➡ Стать спонсором https://www.youtube.com/letscodedru/join
➡ Patreon   / letscodedru  
➡ Яндекс.Деньги https://money.yandex.ru/to/4100145167...
➡ PayPal https://paypal.me/letscodedru
➡ Qiwi https://qiwi.me/letscode

Если приложение не раздаёт статический контент, то ему определённо нужна база данных. А раз уж мы начали писать приложение на реактивном стеке, то нам определённо нужен и реактивный драйвер. К счастью, Spring предоставляет не только драйвер для NoSQL базы данных Mongo, но и для великолепной Postgres. Единственное, официальная поддержка этой БД появилась только в версии Spring Boot 2.3.0, которая, к сожалению, всё еще в состоянии предрелизном (на момент выхода видео), но уже с установившимся API.
Так как R2DBC это не ORM с кучей удобных вещей, отслеживать актуальность БД придётся вручную, что для нас не особо страшно, потому что у нас есть замечательный инструмент FlyWay для описания миграций БД

Код из видео:
https://github.com/drucoder/catalizat...

Генератор шаблонов Spring проектов:
https://start.spring.io/

Документация по R2DBC:
https://docs.spring.io/spring-data/r2...

Документация по быстрому старту с R2DBC:
https://docs.spring.io/spring-data/r2...

Документация по Spring Data репозиториям с R2DBC:
https://docs.spring.io/spring-data/r2...

Документация по FlyWay:
https://flywaydb.org/documentation/mi...

Видео по lombok:
   • Java Tools: Project Lombok - пишем ме...  

Видео про отладку в браузере:
   • JavaScript debug: отлаживаем вэб прил...  

Сравнение файлов и отдельных блоков кода в IntelliJ IDEA:
   • IntelliJ (IDEA, PyCharm, WebStorm): б...  

Видео по настройке и ипользованию FlyWay в проекте Sweater:
   • Spring Boot FlyWay: миграции БД, проф...  

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

➡ Второй канал:    / geekchatdru  
➡ Twitch:   / drucoder  
➡ Твиттер:   / letscodedru  
➡ Группа Вконтакте: https://vk.com/letscodedru
➡ Канал в Telegram: https://t.me/letsCode_dru
➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqh...
➡ Сервер в Discord:   / discord  
➡ Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac209...