Spring Boot的特性: Couchbase
30.8 Couchbase
Couchbase是一个基于文档,分布式多模型的开源数据库,设计用于交互式应用程序。Spring Boot为Couchbase提供自动配置,Spring Data Couchbase提供在它之上的抽象,还有收集依赖的spring-boot-starter-data-couchbase‘Starter’。
30.8.1 连接Couchbase
通过添加Couchbase SDK和一些配置,你可以很容易获取一个Bucket和Cluster,spring.couchbase.*属性可用于自定义该连接。通常,你需要提供启动hosts,bucket name和password:
spring.couchbase.bootstrap-hosts=my-host-1,192.168.1.123 spring.couchbase.bucket.name=my-bucket spring.couchbase.bucket.password=secret
注 你至少需要提供启动host(s),在这种情况下,bucket name默认为default,password默认为空字符串。另外,你可以定义自己的org.springframework.data.couchbase.config.CouchbaseConfigurer @Bean来把控所有配置。
你也可以自定义一些CouchbaseEnvironment设置,例如,以下配置改变打开新Bucket的超时时间(timeout),还启用了SSL支持:
spring.couchbase.env.timeouts.connect=3000 spring.couchbase.env.ssl.key-store=/location/of/keystore.jks spring.couchbase.env.ssl.key-store-password=secret
具体查看spring.couchbase.env.*属性。
30.8.2 Spring Data Couchbase仓库
Spring Data包含的仓库也支持Couchbase,具体可查看Spring Data Couchbase的参考文档。
你可以注入一个自动配置的CouchbaseTemplate实例,就像注入其他Spring Bean那样,只要默认的CouchbaseConfigurer可以使用。如果想关闭Spring Data Couchbase的自动配置,你可以提供自己的org.springframework.data.couchbase.config.AbstractCouchbaseDataConfiguration实现。
@Component public class MyBean { private final CouchbaseTemplate template; @Autowired public MyBean(CouchbaseTemplate template) { this.template = template; } // ... }
如果添加你自己的CouchbaseTemplate类型的@Bean,且名称为couchbaseTemplate,那它将替换默认实例。