擴充套件

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] 擴充套件。