扩展

Kotlin 扩展 提供了使用额外功能扩展现有类别的能力。Spring Data Kotlin API 使用这些扩展为现有的 Spring API 添加新的 Kotlin 特定便利性。

请记住,需要导入 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 的具现化泛型支持。

  • [kotlin.coroutines] 扩展 ReactiveFluentCassandraOperations