Usa el controlador R2DBC de código abierto

R2DBC es una especificación para el acceso sin bloqueo a bases de datos relacionales, basada en Reactive Streams. La aplicación puede usar la conectividad reactiva de la base de datos con Spanner mediante el controlador R2DBC de Spanner.

Agrega dependencias

Los usuarios de Spring Data deben usar el dialecto R2DBC de Spring Data para Spanner. Todos los demás usuarios deben llevar solo el controlador R2DBC de Spanner.

Usa el controlador R2DBC de Spanner

Para agregar solo el controlador R2DBC de Spanner a la aplicación, agrega la siguiente dependencia:

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

Para obtener más información, consulta el repositorio de GitHub del controlador de Spanner R2DBC y el código de muestra.

Usa el dialecto R2DBC de Spring Data para Spanner

Para los usuarios de Framework de Spring, Spring Data proporciona abstracciones conocidas a fin de simplificar la interacción con operaciones comunes de la base de datos.

Para usar las funciones de Spring Data R2DBC con Spanner, agrega la siguiente dependencia a tu proyecto. El controlador es una dependencia transitiva del dialecto.

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

Para obtener información sobre cómo usar su plantilla y repositorios, consulta la referencia de Spring Data R2DBC. Para ver qué objetos se configuran automáticamente para ti, consulta la referencia de Spring Boot.

Para obtener más información, consulta el repositorio de GitHub de R2DBC de Spanner.

Configuración de Spring Boot

Sin importar qué dependencia de R2DBC uses, si tu aplicación se basa en Spring Boot, el framework intentará configurar automáticamente y proporcionarte una fábrica de conexiones.

Proporciona una propiedad spring.r2dbc.url para permitir que la configuración automática se encargue de la configuración de fábrica de la conexión R2DBC. El formato se muestra en la siguiente entrada application.properties de ejemplo:

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

¿Qué sigue?