From Spring Framework to Spring Boot: A Complete Historical Timeline

This article chronicles the evolution of the Spring ecosystem—from its origins as a lightweight dependency‑injection framework, through rapid version growth and corporate changes, to the emergence of Spring Boot and Spring IO, highlighting key releases, architectural shifts, and the impact on Java backend development.

Senior Brother's Insights
Senior Brother's Insights
Senior Brother's Insights
From Spring Framework to Spring Boot: A Complete Historical Timeline

History of the Spring Framework

Spring is one of the most popular Java application frameworks, offering a modular container, AOP, security, data access, web support, and testing utilities. All components are wired together via Dependency Injection (IoC), which simplifies loose‑coupled design and testing.

In 2002 Rod Johnson published *Expert One‑on‑One J2EE Design and Development*, criticizing the complexity of Java EE/EJB and proposing a simpler, POJO‑based solution built on dependency injection. He released over 30,000 lines of reusable infrastructure code under the package com.interface21.

Shortly after, developers Juergen Hoeller and Yann Caroff convinced Johnson to open‑source the code, creating the project named “Spring”. The first public releases appeared in 2003 (Spring 2.0 under Apache 2.0) and 2004 (Spring 1.0), gaining rapid adoption even before the 1.0 release.

Spring’s rapid growth continued: Spring 2.0 (Oct 2006) surpassed one million downloads, adding scalable XML configuration, Java 5 support, and dynamic language extensions. In 2007 the project was renamed SpringSource, released Spring 2.5 with Java 6/EE 5 support, annotation‑based configuration, classpath scanning, and OSGi compatibility. SpringSource secured $10 M Series‑A funding and later acquired several companies before being bought by VMware in 2009.

Spring 3.0 (Dec 2009) introduced a modular system, Spring Expression Language, Java‑based bean configuration (JavaConfig), embedded databases, model validation, REST support, and broader Java EE integration. Subsequent 3.x releases (2011‑2012) added incremental features, while the core team shifted to the Pivotal joint venture in 2013.

Spring 4.0 (Dec 2013) brought full Java 8 support, upgraded third‑party dependencies, Java EE 7 compatibility, Groovy DSL for bean definitions, WebSocket support, and generic‑type injection qualifiers. The 4.x line continued through 2017, culminating in Spring 4.3.8, after which development moved to Spring 5.0.

Spring Boot History

In October 2012 Mike Youngstrom filed a JIRA request to simplify Spring’s web‑application architecture by enabling container‑less bootstrapping. This request sparked the creation of Spring Boot in early 2013, and Spring Boot 1.0.0 was released in April 2014.

Spring Boot 1.1 (Jun 2014) – improved template support, GemFire, Elasticsearch, Apache Solr auto‑configuration.

Spring Boot 1.2 (Mar 2015) – upgraded to Servlet 3.1, Tomcat 8, Jetty 9, Spring 4.1; added banner, JMS, @SpringBootApplication.

Spring Boot 1.3 (Dec 2016) – Spring 4.2 upgrade, devtools, auto‑configuration for caching (EhCache, Hazelcast, Redis, Infinispan), executable JAR support.

Spring Boot 1.4 (Jan 2017) – Spring 4.3 upgrade, Couchbase/Neo4j support, startup failure analysis, RestTemplateBuilder.

Spring Boot 1.5 (Feb 2017) – Kafka/LDAP support, library upgrades, deprecated CRaSH, executor logger endpoint for dynamic log level changes.

Spring Boot 2.0 (Mar 2018) – built on Java 8/9, Quartz scheduling, simplified security auto‑configuration, embedded Netty support.

Spring Boot’s simplicity enables Java developers to rapidly build large‑scale RESTful microservices, making it one of the fastest ways to create production‑ready web applications.

Spring IO and Spring Boot

Spring IO 1.0.0 was released in June 2014, defining a curated set of dependency versions for Spring libraries. Using a Spring IO release means you no longer need to specify individual library versions; the appropriate Spring Boot version is inferred automatically (e.g., Spring IO 1.0.0 defaults to Spring Boot 1.1.1.RELEASE).

Conceptually, Spring IO consists of a foundational layer (core Spring modules and curated third‑party dependencies) and an execution‑layer DSR (Domain‑Specific Runtime). Spring Boot is one such execution‑layer DSR. Consequently, developers can either use Spring Boot directly or combine it with selected Spring IO modules.

Each new Spring Framework release typically triggers a new Spring Boot release, creating a tight coupling between the two projects.

Subsequent Spring IO releases (2.0.0 in Nov 2015, city‑named versions starting in 2016) continued to align with the latest Spring Boot versions, culminating in the Brussels‑SR1 platform (Mar 2017) that bundled Spring Boot 1.5.2 and set the stage for the upcoming Cairo release with Spring Boot 2.0 and Spring Framework 5.0.

Spring Timeline Charts

Spring timeline chart
Spring timeline chart
Spring version timeline
Spring version timeline
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JavaBackend DevelopmentspringSpring Bootdependency-injectionFramework History
Senior Brother's Insights
Written by

Senior Brother's Insights

A public account focused on workplace, career growth, team management, and self-improvement. The author is the writer of books including 'SpringBoot Technology Insider' and 'Drools 8 Rule Engine: Core Technology and Practice'.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.