CDI Integration

存储库接口的实例通常由容器创建,在使用 Spring Data 时,Spring 容器会是最自然的选择。用于 Apache Cassandra 的 Spring Data 带有自定义 CDI 扩展,允许在 CDI 环境中使用存储库抽象。该扩展属于 JAR 的一部分。要激活它,请将用于 Apache Cassandra 的 Spring Data JAR 放入类路径中。现在,您可以通过实现 CassandraTemplate 的 CDI 生产者来设置基础架构,如下面的示例所示:

link:example$CassandraTemplateProducer.java[role=include]

用于 Apache Cassandra 的 Spring Data CDI 扩展会将 CassandraOperations 作为 CDI bean,并且在容器请求存储库类型 bean 时为 Spring Data 存储库创建代理。因此,获取 Spring Data 存储库实例只是声明一个注入属性的问题,如下所示:

link:example$RepositoryClient.java[role=include]