{"id":13694609,"url":"https://github.com/spring-projects-experimental/spring-fu","last_synced_at":"2025-05-15T09:09:13.115Z","repository":{"id":33452324,"uuid":"134733282","full_name":"spring-projects-experimental/spring-fu","owner":"spring-projects-experimental","description":"Configuration DSLs for Spring Boot","archived":false,"fork":false,"pushed_at":"2024-09-04T14:25:38.000Z","size":18035,"stargazers_count":1681,"open_issues_count":38,"forks_count":135,"subscribers_count":79,"default_branch":"main","last_synced_at":"2025-05-09T15:13:49.978Z","etag":null,"topics":["coroutines","graalvm","kotlin","spring","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spring-projects-experimental.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.adoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-24T15:16:16.000Z","updated_at":"2025-05-07T01:54:37.000Z","dependencies_parsed_at":"2024-01-14T19:12:41.156Z","dependency_job_id":"5e14fba7-cc51-4782-a9e4-8bcff22b56f5","html_url":"https://github.com/spring-projects-experimental/spring-fu","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-fu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-fu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-fu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects-experimental%2Fspring-fu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spring-projects-experimental","download_url":"https://codeload.github.com/spring-projects-experimental/spring-fu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254310520,"owners_count":22049470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coroutines","graalvm","kotlin","spring","spring-boot"],"created_at":"2024-08-02T17:01:35.635Z","updated_at":"2025-05-15T09:09:08.107Z","avatar_url":"https://github.com/spring-projects-experimental.png","language":"Java","readme":"Spring Fu is an incubator for https://github.com/spring-projects-experimental/spring-fu/tree/main/jafu[JaFu] (Java DSL)\nand https://github.com/spring-projects-experimental/spring-fu/tree/main/kofu[KoFu] (Kotlin DSL) designed to configure\nSpring Boot explicitly with code in a declarative way with great discoverability thanks to auto-complete.\nIt provides fast startup (40% faster than regular auto-configuration on a minimal Spring MVC app), low memory consumption\nand is a good fit with https://www.graalvm.org/docs/reference-manual/native-image/[GraalVM native] thanks to its (almost) reflection-less approach.\n\n== Status\n\nSpring Fu is experimental and not intended to be used in production. The project has been stalled for some time, and we recognize that Spring Fu has not been getting the attention it deserves. The reason for this is that we have been focussed on other projects, such as native compilation and AOT. Rest assured that we will work on functional configurations again in the future, be it through Spring Fu, or in another form.\n\n== Credits\n\nIn addition to the whole Spring and Reactor teams, special credits to:\n\n * https://github.com/jhoeller[Juergen Hoeller] for his support on Kotlin and the functional bean registration API\n * https://github.com/poutsma[Arjen Poutsma] for creating the WebFlux functional API\n * https://github.com/tgirard12[Thomas Girard] for its https://github.com/tgirard12/spring-webflux-kotlin-dsl[spring-webflux-kotlin-dsl] experiment that initially demonstrated this approach was possible\n * https://github.com/konrad-kaminski[Konrad Kaminski] for his awesome https://github.com/konrad-kaminski/spring-kotlin-coroutine[spring-kotlin-coroutine] project\n * https://github.com/dsyer[Dave Syer] for his work on benchmarks, GraalVM support and functional bean registration applied to Boot\n * The whole https://github.com/spring-projects/spring-boot[Spring Boot] team\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects-experimental%2Fspring-fu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspring-projects-experimental%2Fspring-fu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects-experimental%2Fspring-fu/lists"}