此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

扩展

Kotlin 扩展提供了以下功能 以使用附加功能扩展现有类。Spring Framework Kotlin API 使用这些扩展为现有 Spring API 添加新的 Kotlin 特定便利。spring-doc.cadn.net.cn

Spring Framework KDoc API 列表 并记录所有可用的 Kotlin 扩展和 DSL。spring-doc.cadn.net.cn

请记住,需要导入 Kotlin 扩展才能使用。这意味着, 例如,将GenericApplicationContext.registerBeanKotlin 扩展 仅在以下情况下可用org.springframework.context.support.registerBean被导入。 也就是说,与静态导入类似,在大多数情况下,IDE 应该自动建议导入。

例如,Kotlin 具体化类型参数为 JVM 泛型类型擦除提供了解决方法, Spring Framework 提供了一些扩展来利用此功能。 这允许更好的 Kotlin APIRestTemplate,对于新的WebClient从Spring开始 WebFlux 以及各种其他 API。spring-doc.cadn.net.cn

其他库(例如 Reactor 和 Spring Data)也提供 Kotlin 扩展 ,从而提供更好的整体 Kotlin 开发体验。

检索列表User对象,您通常会编写以下内容:spring-doc.cadn.net.cn

Flux<User> users  = client.get().retrieve().bodyToFlux(User.class)

使用 Kotlin 和 Spring Framework 扩展,您可以改为编写以下内容:spring-doc.cadn.net.cn

val users = client.get().retrieve().bodyToFlux<User>()
// or (both are equivalent)
val users : Flux<User> = client.get().retrieve().bodyToFlux()

与 Java 一样,users在 Kotlin 中是强类型化的,但 Kotlin 巧妙的类型推断允许 用于更短的语法。spring-doc.cadn.net.cn