Spring Data
Spring Data Tarantool - модуль Spring Data, который упрощает создание приложений на базе Spring , использующих Tarantool в качестве хранилища данных.
Особенности
- Реализация CRUD методов для классов моделей данных, специфичных для работы с кластером Tarantool через библиотеку tarantool/crud
- Работа с хранимыми процедурами и скриптами LUA через динамические методы
- Возможность интеграции пользовательского кода репозитория
- Возможности гибкой настройки доступа к Tarantool
- через spring-bean
- через файлы конфигурации (
.properties/.yaml)
- Удобная интеграция с инфраструктурой Spring
- Автоматическая реализация интерфейса
Repository, используя@EnableTarantoolRepositories, в том числе, включая поддержку пользовательских запросов
Статус проекта
| Версия tarantool-java-sdk | Версия tarantool-spring-data | Версия Spring Boot |
|---|---|---|
| 1.5.x | 1.5.x | 2.7.18 / 3.1.10 / 3.2.4 / 3.3.13 / 3.4.10 |
Версия Tarantool и поддерживаемые модули-клиенты
| Версия Tarantool | CRUD API (кластер) | BOX API (один экземпляр) |
|---|---|---|
| 2.11.x | Да | Да (ограничено*) |
| 3.x | Да | Да (ограничено*) |
Заметка
Поддерживается только конфигурация и получение spring bean TarantoolBoxClient.
| Версия Tarantool Data Grid | Repository API |
|---|---|
| 1.x | Да (ограничено*) |
| 2.x | Да (ограничено*) |
Заметка
В релизе 1.4.0 добавлен экспериментальная версия клиента для Tarantool Data Grid, с поддержкой CRUD операций.
Предварительные требования перед работой с модулей Spring Data Tarantool
Наличие базы данных Tarantool
Для работы с модулем, необходим доступ к запущенному Tarantool. Инструкции по установке и запуску
Tarantool можно найти
здесь: github.
Важно
- Данный модуль рассчитан на работу с Tarantool версий
2.11.xи3.x. С отличиями версий можно ознакомиться вофициальной документации. - Работа с более низкими версиями Tarantool возможна, но не гарантируется
Заметка
В целях ознакомления или рассмотрения примеров, удобно использовать
docker и/или
testcontainers в качестве среды для запуска Tarantool.
Заметка
Также стоит ознакомиться с модулем
tarantool-java-sdk/testcontainers, который позволит уменьшить
временные затраты на использование Tarantool с testcontainers в Java.
Загрузка библиотеки на рабочую машину
Подключите модуль в своем проекте следующим образом:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>3.4.12</version>
</dependency>
<dependency>
<groupId>io.tarantool</groupId>
<artifactId>tarantool-spring-data-34</artifactId>
<version>${tarantool-spring-data.version}</version>
</dependency>
</dependencies>