Skip to content
Spring Fu is an incubator for new Spring features related to explicit configuration and runtime efficiency.
Branch: master
Clone or download
sdeleuze Move Coroutines support to Spring Framework and Spring Data
This commit also upgrades to latest R2DBC versions.

Closes gh-152
Latest commit 4caeb4a Mar 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
autoconfigure-adapter Move Coroutines support to Spring Framework and Spring Data Mar 18, 2019
ci Update CI scripts to test Maven builds Dec 19, 2018
gradle/wrapper
jafu Move Coroutines support to Spring Framework and Spring Data Mar 18, 2019
kofu Move Coroutines support to Spring Framework and Spring Data Mar 18, 2019
samples
.gitignore Refactor samples Dec 20, 2018
CODE_OF_CONDUCT.adoc
CONTRIBUTING.adoc
LICENSE.txt
README.adoc Use directly README URL for Kofu and Jafu documentation Dec 21, 2018
ROADMAP.adoc
build.gradle.kts
gradle.properties
gradlew Upgrade to Gradle 5.0 RC5 Nov 23, 2018
gradlew.bat
settings.gradle.kts

README.adoc

Spring Fu

Build Status

Spring Fu is an incubator for new Spring features related to explicit configuration and runtime efficiency.

While regular Spring Boot applications are configured using annotations, conventions and automatic configuration based on conditions like "Is this class available in the classpath?", Spring Fu provides an explicit way of configuring Spring Boot applications with a Kotlin DSL (Kofu) or a Java DSL (Jafu) using functional bean definitions for both Spring Boot infrastructure and application code.

It has following characteristics:

  • Explicit configuration via Kotlin or Java DSL instead of annotations

  • Minimal set of features enabled by default

  • No classpath scanning, no feature enabled based on classpath detection

  • Both declarative (via the DSL) and programmatic (code auto-complete, allow any kind of if, for statements)

  • Functional configuration based on pure lambdas

  • Minimal reflection usage, no CGLIB proxy, no annotation processing

  • Faster startup and lower memory consumption

  • GraalVM native image friendly

The project also incubates various other features like Coroutines or GraalVM support. You can see the roadmap for more details.

It is not intended to be used in production, but rather to incubate and get feedback and contributions from the community in order to reach a point where its features can be integrated as part of existing Spring projects like Framework, Boot and Data.

Getting started

Choose your flavor and follow the documentation:

  • Kofu for Spring Boot applications written in Kotlin

  • Jafu for Spring Boot applications written in Java

Credits

In addition to the whole Spring and Reactor teams, special credits to:

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.