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 transmisiones reactivas. Tu aplicación puede usar la conectividad de la base de datos reactiva 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 solo deben traer 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 R2DBC de Spanner 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 aprender a usar su plantilla y sus repositorios, consulta la referencia de R2DBC de Spring Data. 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 Spring.

Configuración de Spring Boot

Sin importar la dependencia de R2DBC que uses, si tu aplicación se basa en Spring Boot, el framework intentará configurar y proporcionarte automáticamente 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?