扩展
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 巧妙的类型推断允许更短的语法。
Apache Cassandra 的 Spring Data 提供以下扩展
-
对
CassandraOperations(包括异步和响应式变体)、CqlOperations(包括异步和响应式变体)FluentCassandraOperations、ReactiveFluentCassandraOperations、Criteria和Query的具体化泛型支持。 -
协程
ReactiveFluentCassandraOperations的扩展。