扩展

Kotlin 扩展提供了为现有类添加额外功能的能力。Spring Framework Kotlin API 使用这些扩展为现有 Spring API 添加新的 Kotlin 特有的便利功能。

Spring Framework KDoc API 列出了并文档化了所有可用的 Kotlin 扩展和 DSL。

请记住,Kotlin 扩展需要导入才能使用。这意味着,例如,GenericApplicationContext.registerBean Kotlin 扩展只有在导入 org.springframework.context.support.registerBean 时才可用。话虽如此,类似于静态导入,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 巧妙的类型推断允许使用更短的语法。

© . This site is unofficial and not affiliated with VMware.