オープンソース R2DBC ドライバを使用する

R2DBC は、リアクティブ ストリームに基づくリレーショナル データベースへの非ブロッキング アクセスの仕様です。アプリケーションは、Spanner R2DBC ドライバを使用して、Spanner とのリアクティブ データベース接続を利用できます。

依存関係の追加

Spring Data のユーザーは、Spanner の Spring Data R2DBC 言語を使用する必要があります。他のすべてのユーザーは、Spanner R2DBC ドライバのみを使用します。

Spanner R2DBC ドライバを使用する

Spanner R2DBC ドライバのみをアプリケーションに追加するには、次の依存関係を追加します。

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>cloud-spanner-r2dbc</artifactId>
  <version>1.3.0</version>
</dependency>

詳細については、Spanner R2DBC ドライバの GitHub リポジトリサンプルコードをご覧ください。

Spanner の Spring Data R2DBC 言語を使用する

Spring Framework のユーザー向けに、Spring Data では一般的な抽象化がサポートされ、一般的なデータベース オペレーションを簡単に操作できます。

Spanner で Spring Data R2DBC 機能を使用するには、プロジェクトに次の依存関係を追加します。ドライバは、言語の推移的な依存関係です。

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>cloud-spanner-spring-data-r2dbc</artifactId>
  <version>1.2.2</version>
</dependency>

テンプレートとリポジトリの使用方法については、Spring Data R2DBC のリファレンスをご覧ください。自動的に構成されるオブジェクトを確認するには、Spring Boot のリファレンスをご覧ください。

詳細については、Spanner Spring Data R2DBC GitHub リポジトリをご覧ください。

Spring Boot 構成

使用する R2DBC 依存関係に関係なく、アプリケーションが Spring Boot に基づいている場合は、フレームワークによって自動的に構成と接続ファクトリの提供が行われます。

spring.r2dbc.url プロパティを使用して、自動構成で R2DBC 接続ファクトリ構成に対応できるようにします。形式は、次のサンプル application.properties エントリに示されています。

spring.r2dbc.url=\
r2dbc:cloudspanner://spanner.googleapis.com:443/projects/${project}/instances/${instance}/databases/${database}

次のステップ