对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
扩展
Kotlin 扩展提供了 以使用其他功能扩展现有类。Spring 框架 Kotlin API 使用这些扩展为现有 Spring API 添加新的特定于 Kotlin 的便利性。
Spring 框架 KDoc API 列表 并记录了所有可用的 Kotlin 扩展和 DSL。
请记住,需要导入 Kotlin 扩展才能使用。这意味着,
例如,Kotlin 扩展
仅在导入时可用。
也就是说,与静态导入类似,在大多数情况下,IDE 应该会自动建议导入。GenericApplicationContext.registerBean org.springframework.context.support.registerBean |
例如,Kotlin 具体化类型参数为 JVM 泛型类型擦除提供了一种解决方法。
Spring Framework 提供了一些扩展来利用此功能。
这允许更好的 Kotlin API ,用于 Spring 中的新
WebFlux 和其他各种 API 的 API 的 API 中。RestTemplate
WebClient
其他库(例如 Reactor 和 Spring Data)也提供 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 是强类型的,但 Kotlin 巧妙的类型推断允许
以获得更短的语法。users