拡張

Kotlin 拡張機能 (英語) は、既存のクラスを追加機能で拡張する機能を提供します。Spring Data Kotlin API はこれらの拡張機能を使用して、既存の Spring API に新しい Kotlin 固有の便利な機能を追加します。

Kotlin 拡張機能を使用するには、インポートする必要があることに注意してください。静的インポートと同様に、ほとんどの場合、IDE は自動的にインポートを提案するはずです。

例: Kotlin の型パラメーターを具体化 (英語) は JVM ジェネリクス型消去 [Oracle] (英語) の回避策を提供し、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 (非同期およびリアクティブバリアントを含む) FluentCassandraOperationsReactiveFluentCassandraOperationsCriteriaQuery のジェネリクスのサポートを具体化しました。

  • ReactiveFluentCassandraOperations[kotlin.coroutines] 拡張。