扩展
Kotlin 扩展提供了 用附加功能扩展现有类的能力。Spring Framework Kotlin API 使用这些扩展为现有的 Spring API 添加新的 Kotlin 特有的便利。
Spring Framework KDoc API 列出了 并文档化了所有可用的 Kotlin 扩展和 DSL。
请记住,Kotlin 扩展需要导入才能使用。这意味着,
例如, |
例如,https://kotlinlang.org/docs/inline-functions.html#reified-type-parameters[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 巧妙的类型推断允许
更短的语法。