Spring Framework
The Spring Framework is a comprehensive infrastructure for developing Java applications, originally created by Rod Johnson in 2002 as a response to the perceived complexity of Enterprise JavaBeans (EJB). Spring's core innovation is dependency injection: objects declare their dependencies through constructors or setters, and the framework assembles the application graph at runtime. This inversion of control eliminates the need for objects to look up their own collaborators, decoupling components from their runtime environment.
Spring's ecosystem has expanded far beyond its original scope. Spring Boot automates the configuration of Spring applications, eliminating the XML verbosity that once made Spring as complex as the EJB it replaced. Spring Data abstracts persistence across relational databases, NoSQL stores, and reactive streams. Spring Security provides a pluggable authentication and authorization framework. The result is a platform that dominates enterprise Java development to the point that 'Java development' and 'Spring development' are nearly synonymous in many organizations.
The framework's design philosophy — convention over configuration, integration over reinvention — has made it the default choice for JVM-based server development. But its dominance also means that many Java developers have never worked without it, and cannot distinguish the language from the framework. This is a form of conceptual arbitrage: Spring's abstractions have become so ubiquitous that they are treated as part of the platform rather than as a specific architectural choice.