擴展
Kotlin 擴展 提供使用額外功能擴展現有類別的能力。Spring Framework Kotlin API 使用這些擴展,將新的 Kotlin 特有便利性添加到現有的 Spring API 中。
Spring Framework KDoc API 列出並記錄所有可用的 Kotlin 擴展和 DSL。
請記住,Kotlin 擴展需要導入才能使用。這表示,例如,只有在導入 org.springframework.context.support.registerBean 時,GenericApplicationContext.registerBean Kotlin 擴展才可用。話雖如此,與靜態導入類似,IDE 應在大多數情況下自動建議導入。 |
例如,Kotlin 具體化類型參數 為 JVM 泛型類型擦除 提供了一個解決方案,而 Spring Framework 提供了一些擴展來利用此功能。這為 RestTemplate
、Spring WebFlux 中的新 WebClient
以及各種其他 API 提供了更好的 Kotlin API。
其他函式庫,例如 Reactor 和 Spring Data,也為其 API 提供了 Kotlin 擴展,從而提供了更好的整體 Kotlin 開發體驗。 |
若要在 Java 中檢索 User
物件的列表,您通常會編寫以下程式碼
Flux<User> users = client.get().retrieve().bodyToFlux(User.class)
使用 Kotlin 和 Spring Framework 擴展,您可以改為編寫以下程式碼
val users = client.get().retrieve().bodyToFlux<User>()
// or (both are equivalent)
val users : Flux<User> = client.get().retrieve().bodyToFlux()
與 Java 中一樣,Kotlin 中的 users
是強型別的,但 Kotlin 的聰明類型推斷允許更簡短的語法。