Couchbase es una base de datos NoSQL multimodelo
distribuida, orientada a documentos y de código abierto optimizada para aplicaciones interactivas. . Además, Spring
Boot proporciona configuración automática para Couchbase y abstracciones proporcionadas a través de Spring Data Couchbase.
Para una recopilación conveniente de dependencias, existen "paquetes de inicio" spring-boot-starter-data-couchbase
y spring-boot-starter-data-couchbase-reactive
Conectarse a Couchbase
Puedes obtener un Cluster
agregando el SDK de Couchbase y alguna configuración. Las propiedades spring.couchbase.*
se pueden utilizar para configurar la conexión. Como regla general, la cadena
de conexión es especificado, nombre de usuario y contraseña, como se muestra en el siguiente ejemplo:
spring.couchbase.connection-string=couchbase://192.168.1.123
spring.couchbase.nombre de usuario=usuario
spring.couchbase.contraseña=secreto
spring:
couchbase:
connection-string: "couchbase://192.168.1.123"
username: "user"
password: "secret"
También puede configurar algunos parámetros de ClusterEnvironment
. Por ejemplo, la siguiente
configuración cambia la configuración de tiempo de espera utilizada para abrir un nuevo Bucket
y
también habilita la compatibilidad con el protocolo SSL:
spring.couchbase.env.timeouts.connect=3s
spring.couchbase.env.ssl.key-store=/ubicación/of/keystore.jks
spring.couchbase.env.ssl.key-store-password=secret
spring:
couchbase:
env:
timeouts:
connect: "3s"
ssl:
key-store: "/location/of/keystore.jks"
key-store-password: "secret"
spring.couchbase.env.*
para obtener más detalles. Para obtener más control,
puede utilizar uno o más beans ClusterEnvironmentBuilderCustomizer
.
Repositorios de Spring Data Couchbase
Spring Data incluye soporte de repositorio para Couchbase.
Una instancia CouchbaseTemplate
autoconfigurable se puede implementar como cualquier otro Spring Bean,
siempre que el bean CouchbaseClientFactory
esté presente. Esto es posible si tiene el
Cluster
descrito anteriormente y se proporciona el nombre del depósito:
spring.data.couchbase.bucket-name=mi-bucket
spring:
data:
couchbase:
bucket-name: "my-bucket"
Los siguientes ejemplos muestran cómo implementar el bean CouchbaseTemplate
:
@Component
public class MyBean {
private final CouchbaseTemplate template;
public MyBean(CouchbaseTemplate template) {
this.template = template;
}
}
@Component
class MyBean(private val template: CouchbaseTemplate) {
}
Hay varios beans que puedes definir en tu propia configuración para anular los proporcionados por la configuración automática:
-
Un bean
CouchbaseMappingContext
marcado con la anotación@Bean
, denominadocouchbaseMappingContext
. -
Un bean
CustomConversions
marcado con una anotación@Bean
denominadacouchbaseCustomConversions
. -
Un bean
CouchbaseTemplate
marcado con la anotación@Bean
, denominadocouchbaseTemplate
.
Para evitar codificar estos nombres en su propia configuración, puede utilizar los BeanNames
proporcionados por Spring Data Couchbase. Por ejemplo, puedes configurar los convertidores que utilizas de la
siguiente manera:
@Configuration(proxyBeanMethods = false)
public class MyCouchbaseConfiguration {
@Bean(BeanNames.COUCHBASE_CUSTOM_CONVERSIONS)
public CouchbaseCustomConversions myCustomConversions() {
return new CouchbaseCustomConversions(Arrays.asList(new MyConverter()));
}
}
@Configuration(proxyBeanMethods = false)
class MyCouchbaseConfiguration {
@Bean(BeanNames.COUCHBASE_CUSTOM_CONVERSIONS)
fun myCustomConversions(): CouchbaseCustomConversions {
return CouchbaseCustomConversions(Arrays.asList(MyConverter()))
}
}
GO TO FULL VERSION