1

我在我的应用程序中使用 spring-data-couchbase:2.0.0.RC1 但我有一些依赖 Bucket 对象并直接使用它的遗留代码。有没有办法从 spring-data-couchbase 获取 Bucket 对象?我在文档中找到了这个http://docs.spring.io/spring-data/couchbase/docs/2.0.0.RC1/reference/html/#couchbase.template但不知道如何在我的应用程序。

我的弹簧配置对象如下...

@Configuration
public class SpringCouchbaseConfig extends AbstractCouchbaseConfiguration {

    @Value("${scheduled.task.couchbase_sync.host}")
    String host;

    @Value("${scheduled.task.couchbase_sync.bucket}")
    String bucket;

    @Override
    protected List<String> getBootstrapHosts() {
        return Arrays.asList(this.host);
    }

    @Override
    protected String getBucketName() {
        return this.bucket;
    }

    @Override
    protected String getBucketPassword() {
        return "";
    }

    @Override
    protected CouchbaseEnvironment getEnvironment() {
        return DefaultCouchbaseEnvironment.builder()
                .connectTimeout(TimeUnit.SECONDS.toMillis(10))
                .computationPoolSize(6)
                .build();
    }


    @Bean(name = "org.springframework.data.couchbase.core.convert.customConversions")
    public CustomConversions customConversions() {
        return new CustomConversions(Collections.emptyList());
    }

}
4

1 回答 1

1

如果您只配置一个BucketAbstractCouchbaseConfiguration则将声明一个@Bean命名couchbaseBucket类型Bucket,以便您可以在需要的地方自动装配它:

@Autowired
private Bucket myBucketUsedBySpringData;

如果您有参考CouchbaseTemplate(例如,也在某处自动装配),您也可以Bucket通过调用getCouchbaseBucket()它轻松获得支持。

于 2016-01-12T13:48:59.250 回答