オープンソースの 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}

次のステップ