Spring Fu is an incubator for JaFu (Java DSL) and KoFu (Kotlin DSL) designed to configure Spring Boot explicitly with code in a declarative way with great discoverability thanks to auto-complete. It provides fast startup (40% faster than regular auto-configuration on a minimal Spring MVC app), low memory consumption and is a good fit with GraalVM native thanks to its (almost) reflection-less approach.
Status
Spring Fu is not intended to be used in production yet, but rather to incubate and get feedback and contributions from the community in order to hopefully reach a point where it can be integrated as part of Spring Framework and Spring Boot.
Credits
In addition to the whole Spring and Reactor teams, special credits to:
-
Juergen Hoeller for his support on Kotlin and the functional bean registration API
-
Arjen Poutsma for creating the WebFlux functional API
-
Thomas Girard for its spring-webflux-kotlin-dsl experiment that initially demonstrated this approach was possible
-
Konrad Kaminski for his awesome spring-kotlin-coroutine project
-
Dave Syer for his work on benchmarks, GraalVM support and functional bean registration applied to Boot
-
The whole Spring Boot team