Idiomatic Kotlin applications with Spring Boot 4

Dag 2, 22. mai 2026 · kl 11:15 · Sébastien Deleuze · 📋 i programmet · 🌐 offisiell beskrivelse

Sébastien Deleuze viser hvordan Spring Boot 4 gjør backend-utvikling i Kotlin mer idiomatisk enn noen gang, med korte demoer på tvers av bygg, null-safety, serialisering, observability, persistens og AI. JSpecify-annotasjoner er nå rullet ut i hele Spring-porteføljen og oversettes automatisk til Kotlin-nullability takket være K2-kompilatoren, slik at plattformtyper og uventede NPE-er i praksis forsvinner og Spring-API-ene føles native i Kotlin. Fra Kotlin 2.4 legges annotasjoner på data class-properties dessuten på både felt og konstruktørparameter som standard, slik at Jackson- og Hibernate Validator-annotasjoner virker uten eksplisitte use-site-targets.

Idiomatisk JPA er per design ikke kompatibelt med idiomatisk Kotlin, mener Deleuze: enten aksepterer man muterbare, nullable entiteter, eller så velger man Spring Data JDBC, Exposed eller jOOQ, som gir uforanderlige data class-entiteter og en lettere stack som spiller bedre sammen med språket. For web-laget er anbefalingen WebMVC som standard (stacken støtter coroutines og Kotlin Flow rett ut av boksen, og virtual threads slås på med én property), mens WebFlux reserveres for reelt strømmingsorienterte arbeidslaster. Slik får man høy samtidighet uten å ta på seg den reaktive kompleksiteten.

Spring Boot 4 leverer også en dedikert spring-boot-starter-kotlinx-serialization-json, forutsigbar sameksistens mellom Jackson og kotlinx.serialization, og Kotlin 2.2 som nytt minstekrav. Med Java 25 og buildpacks kan ett flagg dessuten bake en Project Leyden AOT-cache inn i containerbildet og minst doble oppstartshastigheten. Hovedbudskapet er at Kotlin+Spring-stacken nå er så godt integrert at man kan velge mellom suspenderende funksjoner og virtuelle tråder etter behov, og få null-safety på kjøpet uten ekstra arbeid. Mest interessant var å se hvor tett Spring-vedlikeholderne samarbeider med Kotlin-teamet, fra annotasjonsdefaults til Micrometer, og hvordan det gjør idiomatiske Kotlin-applikasjoner enkle å lage.

Tags: Spring Boot · Backend · Null-safety · Coroutines · Virtual threads · JSpecify

📹 Idiomatic Kotlin applications with Spring Boot 4 – Sébastien Deleuze

← 1015 Dissecting Kotlin: 2026 · 1300 Eval-Driven Development →