Loading...
Spring Framework Reference Documentation 7.0.2의 Extensions의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Kotlin extensions는 기존 class를 추가 기능과 함께 확장할 수 있는 기능을 제공합니다. Spring Framework Kotlin API는 이러한 extensions를 사용하여 기존 Spring API에 새로운 Kotlin 고유의 편의 기능을 추가합니다.
Spring Framework KDoc API는 사용 가능한 모든 Kotlin extensions와 DSL을 나열하고 문서화합니다.
Kotlin extensions를 사용하려면 import해야 한다는 점을 명심하십시오. 이는,<br>예를 들어,
GenericApplicationContext.registerBeanKotlin extension은<br>org.springframework.context.support.registerBean이 import된 경우에만 사용할 수 있다는 것을 의미합니다.<br>그렇긴 하지만, static import와 마찬가지로 대부분의 경우 IDE가 자동으로 import를 제안해 줄 것입니다.
예를 들어, Kotlin reified type parameters는
JVM generics type erasure에 대한
우회 방법을 제공하며, Spring Framework는 이 기능을 활용하기 위한 몇 가지 extensions를 제공합니다.
이를 통해 새로운 Spring WebFlux의 WebClient와 RestTemplate, 그리고 다양한 다른 API에 대해
더 나은 Kotlin API를 제공할 수 있습니다.
Reactor 및 Spring Data와 같은 다른 library들도 그들의 API를 위한 Kotlin extensions를 제공하여,<br>전반적으로 더 나은 Kotlin 개발 경험을 제공합니다.
Java에서 User 객체 list를 가져오기 위해서는 일반적으로 다음과 같이 작성합니다:
1Flux<User> users = client.get().retrieve().bodyToFlux(User.class) 2Copied!
Kotlin과 Spring Framework extensions를 사용하면 대신 다음과 같이 작성할 수 있습니다:
1val users = client.get().retrieve().bodyToFlux<User>() 2// or (both are equivalent) 3val users : Flux<User> = client.get().retrieve().bodyToFlux() 4Copied!
Java에서와 마찬가지로, Kotlin에서의 users는 strong type이지만, Kotlin의 영리한 type inference 덕분에
더 짧은 syntax를 사용할 수 있습니다.
Requirements
Null-safety