Spring Boot Done Right: Lessons from a 400-Module Codebase
by dknj on 3/26/2026, 6:29:56 PM
Comments
by: e7h4nz
I worked on a core Spring Boot project for five or six years at a very large enterprise. In my opinion, the most dangerous thing about this framework is that it makes its core users feel far too self-assured.<p>When looking at problems, your mind becomes consumed with how to force everything into design patterns—like architectural separation, DI, or interface / implementation split. This causes developers to lose sight of the actual essence of the problem because they are obsessed with conforming to the framework.<p>Because the ecosystem and toolchain surrounding Spring Boot and Java are so mature and well-supported, it is very easy to find community tools that make you feel like you are doing things the "right way."<p>I only realized these issues after I left Spring Boot and Java development behind. Now, I much prefer using TypeScript or Python to write code (for example, web servers).<p>I also prefer using various SaaS solutions to handle authentication and user registration rather than rebuilding it all myself with Spring Boot Security. I honestly never want to go back to the days of writing Java again.
3/30/2026, 2:25:48 PM
by: stackskipton
Ops person here who has supported Java/SpringBoot applications. I think most of dislike of Java apps comes not from language or framework BUT from fact that most Java using workspaces are filled with mediocracy. They tend to be businesses with products that have extreme moats and thus quality of software barely matters. I imagine most people who would even read this medium article are dreaming of better than that.
3/30/2026, 1:55:17 PM
by: moondowner
Switched from Spring Boot to Ruby on Rails 3 years ago.<p>I expected to see some new Spring 'tricks' in this post, but it's pretty much regular things that people might do in larger codebases.
3/30/2026, 3:00:03 PM
by: sidcool
Hacker news likes to dunk on Spring Boot, but its usage in enterprises is very very high.
3/30/2026, 1:41:21 PM
by: fpauser
Bodyless classes only for carrying annotations... too much magic for my taste.
3/30/2026, 3:56:32 PM
by: robmccoll
Does this app take 5 minutes to start? That's so much dynamic Spring magic. Also, how do you keep track of control flow when anything at anytime could have been overridden by something else? It seems like tracing and debugging this thing would be like exploring someone else's codebase every time.
3/30/2026, 1:41:38 PM
by: faangguyindia
I recently inherited java code base.<p>Just rewrote it in Go. Now we are using a server which consumes 30% of ram what the existing one used to and the latency and throughput have all improved.<p>Don't use these stupid java backend like sprinboot.
3/30/2026, 1:44:39 PM