Spring framework vs. Spring Boot: Understand Differences
- Details
- Written by Nam Ha Minh
- Last Updated on 24 November 2021   |   Print Email
If you’ve recently come to Java enterprise development with Spring framework or Spring platform, you probably heard the terms Spring framework and Spring Boot. How do they differ? Or do they refer to the same thing? You’re probably quite confused, right?
So in this article, I’d like to help you clear out the confusion of Spring framework vs. Spring Boot, what they are, how they differ… which I think it would be helpful for you, in terms of better understand.
1. Spring framework vs Spring Boot: What are they?
Firstly, let’s understand what Spring framework and Spring Boot are actually about.
What is Spring framework?
You know, Spring framework is the world’s most popular Java framework. It provides comprehensive programming & configuration model for modern Java-based enterprise apps.
Spring framework provides infrastructural support at application-level, so teams can focus on application-level business logic.
Spring framework is the core of Spring platform.
What is Spring Boot?
Spring Boot is a way that helps developers get started with Spring framework with minimum effort. Spring Boot makes it easy to create stand-alone, production-grade Spring-based apps.
Spring Boot is a project of Spring platform, not a replacement of Spring framework. Developers use Spring Boot to save time and increase productivity.
2. Spring framework vs Spring Boot: Features Comparison
The key features of Spring framework are:
- Core: dependency injection, AOP, events, resources, i18n, validation, data binding, type conversion…
- Testing: mock objects, TestContext, Spring MVC Test…
- Data Access: transactions, DAO support, JDBC, ORM…
- Spring MVC & Spring WebFlux
- Integration: remoting, JMS, JMX, email, tasks, scheduling, cache
Whereas, the following are key features of Spring Boot:
- Stand-alone apps with embedded server – no WAR deployment
- Starter dependencies that simplify dependency configuration
- Automatic configuration of Spring and 3rd party libraries
- Metrics, health check, externalized configuration
- No code generation. No XML configuration.
The following picture visualizes the relation between Spring framework and Spring Boot in an application:
A Spring application could be running on an external servlet container or embedded server such as Apache Tomcat. Spring Boot is built on Spring framework’s core. The application’s code is built on Spring Boot and Spring framework’s features such as dependency injection, AOP, ORM, DAO, Spring MVC…
3. Spring framework vs Spring Boot: Conclusion
As you have seen, Spring Boot is just a way that eases development of applications based on Spring framework. In other words, it complements to Spring framework and Spring projects development. To summary:
- Both Spring Framework and Spring Boot are parts of Spring platform
- Spring Framework provides core components for developing Java-based enterprise apps
- Spring Boot makes Spring development much easier and more convenient for developers
- Spring Boot is not replacement of Spring framework
- Spring Boot is an abstraction layer on top of Spring framework
- Spring Boot hides details of Spring framework
Learn more: What is Spring Boot actually about? (and what it is not)
Comments