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