В этой короткой статье я постараюсь познакомить вас с R2DBC с использованием Spring Data R2DBC и в мире реактивных приложений с Spring Web Flux .
Что такое R2DBC и почему вы должны беспокоиться о том, чтобы посмотреть на него? Во-первых, R2 DBC означает Реактивное подключение к реляционной базе данных. Что это значит? Простыми словами, R2DBC предоставляет возможность неблокирующих вызовов нашим реляционным базам данных (SQL)!
Цитирование https://r2dbc.io/ , R2DBC в двух словах:
- Реактивные потоки – R2DBC основан на реактивных потоках, обеспечивающих полностью реактивный неблокирующий API.
- Реляционные базы данных – RDBS подключает базы данных SQL с помощью реактивного API, что невозможно из-за блокирующей природы JDBC.
- Масштабируемые решения – Реактивные потоки позволяют перейти от классического подхода с одним потоком на соединение к более мощному и масштабируемому подходу.
- Открытая спецификация – R2DBC – это открытая спецификация, устанавливающая интерфейс, который поставщики драйверов могут реализовать, а клиенты могут использовать.
В этом руководстве мы создадим простой REST API с помощью Kotlin , Spring Web Flux и мы подключимся к нашей базе данных H2 с помощью Spring Data R2DBC .
Если вы хотите легко начать работу с проектом Spring boot, я рекомендую всегда использовать Spring Initializr .
Второе лучшее место в Интернете @ Джош Лонг .
Конфигурация Gradle
Прежде всего, мы должны настроить наш build.gradle.kts и включить зависимости:
Полный build.gradle.kts смотрите здесь: build.gradle.kts .
Конфигурация приложения
Spring Boot поставляется с несколькими автоматическими конфигурациями для Spring Data R2DBC “из коробки”. Ниже мы используем возможности Spring Boot для создания подключения к базе данных:
Затем мы создаем таблицу с именем Сотрудник и мы заполняем его некоторыми данными:
Хотя это может показаться не совсем безопасным, в нашем приложении у нас нет никаких проблем, в то время как база данных всегда будет создаваться при запуске и уничтожаться при завершении работы приложения.
REST API
Итак, мы создали нашу базу данных и заполнили ее данными, и что теперь? Давайте воспользуемся этим и создадим REST API!
Ниже у нас есть простая модель предметной области под названием Employee .
Затем давайте создадим наш репозиторий, который будет предоставлять некоторые запросы “из коробки”, и мы также определим один из наших собственных.
И последнее, но не менее важное: давайте создадим нашу конечную точку:
Результат
Давайте выполним наше приложение с помощью команды ./gradlew Запуск загрузки .
Приложение теперь работает на http://localhost:8080 !! Поздравляю!
Spring Data R2DBC все еще находится на стадии эксперимента. Хотя он включен в официальную версию Spring Boot 2.2.0, я бы не рекомендовал использовать его на производстве:).
Я надеюсь, что теперь вы лучше понимаете R2DBC.
Вы можете найти репозиторий прямо здесь:
Petros0/пружинный загрузчик-r2dbc-kotlin
Цель этого проекта – дать представление о том, как работать с R2DBC и Spring Data R2DBC.
приступая к работе
./gradlew загрузочный запуск , приложение теперь запускает localhost:8080.
Перейдите к:
http://localhost:8080/employees/
Доступные конечные точки:
ПОЛУЧИТЬ http://localhost:8080/employees/
ПОЛУЧИТЬ http://localhost:8080/employees/1
СООБЩЕНИЕ http://localhost:8080/employees/
УДАЛИТЬ http://localhost:8080/employees/
Оригинал: “https://dev.to/petros0/getting-started-with-spring-webflux-and-r2dbc-in-spring-boot-191f”