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. Tu aplicación puede aprovechar la conectividad reactiva de la base de datos con Spanner usando el controlador R2DBC de Spanner.

Agrega dependencias

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

Usa el controlador R2DBC de Spanner

Para agregar solo el controlador R2DBC de Spanner a tu 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 R2DBC de Spanner y el código de ejemplo.

Usa el dialecto de Spring Data R2DBC 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 sus 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 Spanner Spring Data R2DBC.

Configuración de Spring Boot

Independientemente de la dependencia de R2DBC que uses, si tu aplicación se basa en Spring Boot, el framework intentará configurar y proporcionar automáticamente un factor de conexión para ti.

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

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

¿Qué sigue?