Spring Framework
Ranked 11 of 63 web frameworks by recommenders
Mature Java framework that handles dependency wiring, with a long track record and wide integrations. Critics say its heavy magic, slow startup and accumulated baggage add complexity.
Mature Java framework that handles dependency wiring, with a long track record and wide integrations. Critics say its heavy magic, slow startup and accumulated baggage add complexity.
97 people gave an opinion
- recommend it
- 41
- criticize it
- 56
- approval share
- 42%
Recommended in 11 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: not recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 41 people recommend itNeeds 10 or more, met.
- 0.7 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 11 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Well tested and stable
“we are based on Spring, which is probably the most tested piece of software before new versions of Java are released”
Comment from 15 Sep 2026 in “Java 27” “solid, battle-tested, enterprise-grade frameworks like Spring and Quarkus”
Comment from 18 Oct 2026 in “JDK 28” “one of the more stable frameworks”
Comment from 18 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future” Many integrations and wide adoption
“Laravel, Django, Rails, and Spring each have thousands or hundreds-of-thousands of times more websites in production”
Comment from 31 Mar 2026 in “Clojure: The Documentary, official trailer [video]” “Spring is well used and has many integrations”
Comment from 22 Mar 2026 in “Java Is Fast. Your Code Might Not Be” Handles wiring and dependency injection
“I like using Spring as a Factory Factory Factory to build systems by snapping parts together”
Comment from 12 May 2026 in “Is Spring Boot Becoming Obsolete?” “Spring for example is a fully managed way of talking about stuff in your app”
Comment from 8 Nov 2025 in “Chibi Izumi: Phased dependency injection for TypeScript” “Never had a problem with ctor injection in Spring.”
Comment from 6 Nov 2025 in “Chibi Izumi: Phased dependency injection for TypeScript” Simple and easy to reason about
“Mostly just boils down to a Chain-of-Responsibility pattern which is incredibly easy to reason about.”
Comment from 30 Mar 2026 in “Spring Boot Done Right: Lessons from a 400-Module Codebase” “Agreed, Spring Framework is quite simple”
Comment from 30 Mar 2026 in “Spring Boot Done Right: Lessons from a 400-Module Codebase” “it becomes quite easy to reason about”
Comment from 30 Mar 2026 in “Spring Boot Done Right: Lessons from a 400-Module Codebase”
What people warn about
Each mark is one comment
Slow startup and runtime overhead
“may provide up to twice the RPS as the Spring (Java) stack (externally discovered: at lower CPU and much lower RAM usage)”
Comment from 24 Mar 2026 in “Sunsetting the Techempower Framework Benchmarks” “Spring has ultimately been the source of performance issues for us with the solution being to ditch spring”
Comment from 30 Mar 2026 in “Spring Boot Done Right: Lessons from a 400-Module Codebase” “Spring is slow because it scans the classpath, uses reflection and generates proxy classes all at startup.”
Comment from 18 Oct 2026 in “JDK 28” Heavy magic hides bean definitions
“The hard part is knowing where beans are defined, because Spring doesn't make that easy at all.”
Comment from 14 May 2026 in “A Claude Code and Codex Skill for Deliberate Skill Development” “it doesn't let me look into and understand the internals easily”
Comment from 30 Mar 2026 in “Spring Boot Done Right: Lessons from a 400-Module Codebase” “with its heavy "magic" component”
Comment from 7 Jan 2026 in “Stop Designing Languages. Write Libraries Instead (2016)” Accumulated baggage and dated patterns
“it has accumulated so much baggage and relies on and perpetuates so many patterns that simply don't make sense anymore”
Comment from 30 Mar 2026 in “Spring Boot Done Right: Lessons from a 400-Module Codebase” “the training data still contains a large amount of Spring XML/AbstractBeanFactoryAware-style patterns”
Comment from 18 May 2026 in “Ask HN: Is Java the ideal language for LLM-assisted coding?”
Other web frameworks people recommend
The four most recommended other web frameworks, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Ruby on Rails | 337 | 145 | 70% | 12 | 14 yrs38 owners | Approved |
| Django | 277 | 97 | 74% | 12 | 15 yrs38 owners | Approved |
| Next.js | 127 | 256 | 33% | 12 | 3 yrs6 owners | — |
| Phoenix Framework | 85 | 11 | 89% | 12 | 8 yrs7 owners | Approved |
| Spring FrameworkThis page | 41 | 56 | 42% | 11 | — | — |
What people said
40 of the 111 comments that mention it, newest first. Each links to the original comment.
“Spring is slow because it scans the classpath, uses reflection and generates proxy classes all at startup.”
“solid, battle-tested, enterprise-grade frameworks like Spring and Quarkus”
“My kids loved the "Spring" book with the ice bear”
“Graph-based programming environments like make and Spring also free developers from having to worry about what order things have to be done”
“I think of Java/Kotlin and Spring as a secret weapon for startups”
“we are based on Spring, which is probably the most tested piece of software before new versions of Java are released”
“Java & Spring is a good choice whenever you want your application to work”
“Seems much more human-maintainable to have a classic spring/golang backend.”
“Every1 used spring or guice and the di runtime, so tests are expensive for e2e with mocks”
“the training data still contains a large amount of Spring XML/AbstractBeanFactoryAware-style patterns”
“The hard part is knowing where beans are defined, because Spring doesn't make that easy at all.”
“I like using Spring as a Factory Factory Factory to build systems by snapping parts together”
“the drawbacks are outweighed by the benefits in convenience, quality, and security”
“Spring is a very good analogy to what useX hooks were to react.”
“I really don't understand why people complain about Spring or ASP.NET annotations”
“Spring is ... well let's just say there are a few folks in and around that area.”
“Laravel, Django, Rails, and Spring each have thousands or hundreds-of-thousands of times more websites in production”
“Mostly just boils down to a Chain-of-Responsibility pattern which is incredibly easy to reason about.”
“Agreed, Spring Framework is quite simple”
“it has accumulated so much baggage and relies on and perpetuates so many patterns that simply don't make sense anymore”
“you can single step into framework code”
“Spring may be a bad choice for microservices (context required, because it is not true in general)”
“it becomes quite easy to reason about”
“it doesn't let me look into and understand the internals easily”
“Spring has ultimately been the source of performance issues for us with the solution being to ditch spring”
“update churn that is almost as bad as in JS ecosystem, just the fact you don't have to think about AS helped adoption”
“just the fact you don't have to think about AS helped adoption”
“It is productive once you know a whole lot about it though”
“may provide up to twice the RPS as the Spring (Java) stack (externally discovered: at lower CPU and much lower RAM usage)”
“Spring is well used and has many integrations”
“one of the more stable frameworks”
“Spring was ready on day 1, as virtual threads had been an experimental feature since Java 19.”
“Spring/Quarkus probably got their abstraction right after n iterations, which is not necessarily true of a random team.”
“where the path traversal vulnerability in Spring is normally caught by Cloudflare before Spring can see it”
“with its heavy "magic" component”
“For spring, an automatic docker container and native compiled docker container mvn command exists.”
“Spring has first tier Kotlin support, I haven't noticed this bias.”
“Java Spring and dotnet are right there, and are specifically optimized for this use case.”
“Spring for example is a fully managed way of talking about stuff in your app”
“Never had a problem with ctor injection in Spring.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.