擴充套件
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
(包括非同步和反應式變體)FluentCassandraOperations
、ReactiveFluentCassandraOperations
、Criteria
和Query
的具體化泛型支援。 -
用於
ReactiveFluentCassandraOperations
的 [kotlin.coroutines] 擴充套件。