扩展

Kotlin 扩展 提供了使用附加功能扩展现有类的能力。 Spring Data Kotlin API 使用这些扩展将新的 Kotlin 特定的便利添加到现有的 Spring API 中。

请记住,Kotlin 扩展需要导入才能使用。 与静态导入类似,IDE 在大多数情况下应自动建议导入。

例如,Kotlin 具体化类型参数为 JVM 泛型类型擦除提供了一个解决方法,Spring Data 提供了一些扩展来利用此功能。 这可以带来更好的 Kotlin API。

要在 Java 中检索 SWCharacter 对象列表,您通常会编写以下代码

Flux<SWCharacter> characters = template.query(SWCharacter.class).inTable("star-wars").all()

使用 Kotlin 和 Spring Data 扩展,您可以改为编写以下代码

val characters = template.query<SWCharacter>().inTable("star-wars").all()
// or (both are equivalent)
val characters : Flux<SWCharacter> = template.query().inTable("star-wars").all()

与 Java 中一样,Kotlin 中的 characters 是强类型的,但 Kotlin 的巧妙类型推断允许使用更短的语法。

Spring Data for Apache Cassandra 提供了以下扩展

  • CassandraOperations(包括异步和反应式变体)、CqlOperations(包括异步和反应式变体)FluentCassandraOperationsReactiveFluentCassandraOperationsCriteriaQuery 的具体化泛型支持。

  • 用于 ReactiveFluentCassandraOperations[kotlin.coroutines] 扩展。