In the early 2000s, Java enterprise development had become a bureaucratic nightmare: a proliferation of untestable Java artefacts, heavyweight application servers, and ivory-tower standards disconnected from the realities of building software.
Then Rod Johnson published a book, included some code, and challenged the entire direction of enterprise Java.
Spring began as a developer-led push to take back control from ivory tower standards and was driven by a belief that building Java applications could be simple, testable, and grounded in real-world needs.
Early Spring still used XML, but in a fundamentally different way: less of it, and with simpler, more focused Java.
The framework created to prove that point brought dependency injection and inversion of control into the mainstream, and went on to become the backbone of enterprise software worldwide.
Today, Spring powers systems at Netflix, Alibaba, and countless organisations most people never hear about but depend on every day.
This is the story of how developers reclaimed control and changed software.