The Evolution of Spring Framework from Dependency Injection to Microservices

This presentation takes the audience on Spring Framework‘s journey from dependency injection to providing support for Microservices.

On SpeakerDeck you can see the slides full screen or even download them in PDF format.

What is Dependency Injection?

The story arc begins with Dependency Injection (DI) and proceeds backwards in time from nowadays to the dark era of early Java EE when EJBs where counterproductive to use.

Spring’s Evolution

With setting the scene and depicting the circumstances of Spring Framework’s genesis, we move on to Spring Boot.


After arriving at present day’s status of the Spring Ecosystem, we look into why teams – having such strong tools like Java, Spring (and other frameworks) – ended up with creating very large monolithic applications.


We discuss briefly what the Microservices Architecture is and why messaging as an abstract form of communication between individual services make developers and architects think about the very nature of that communication.

Spring Integration

Enterprise Integration Patterns are briefly introduced as the basis of Spring Integration. After that Spring Integration is used to decouple three application components in a way that they don’t know about each other, but they’re exchanging messages instead.

Spring Cloud Stream

In the last part Spring Cloud Stream is introduced to the audience as a combination of Spring Integration and Spring Boot. We evolve our sample application further into a set of message-driven Microservices.

Get Early Access - Free Spring Boot Crash Course (WiP)

Related Posts
No related posts for this content
Laszlo Csontos

I've been coding since the age of 9. I knew from childhood that all I wanted to do was code. Now I've been coding for 25 years, with Java for 18 years and professionally for 13 years. During past projects I worked in various roles as a consultant, developer, mentor, team leader and architect. My focus areas have been database- oriented back-end applications, performance tuning techniques and distributed systems. In the last 3 years, I specialized in building microservices with the Spring Ecosystem and also contributed to some of its sub-projects. The newest venture of mine is the creation of, which aims at helping young software engineers learn Spring.

Leave a Reply

Notify of