Last Updated on 22 November 2021   |   Print Email
You know, Spring is the world’s most popular Java framework which is used by many developers for developing enterprise Java applications. Perhaps one of the most confusions that comes to a new developer’s mind is the terms Spring vs. Spring Boot. How do they relate? What are the differences?So in this post, I’d like to help you clear this confusion - understand the key concepts and differences of Spring and Spring Boot.Note: In this article, the term Spring refers to the Spring platform as a whole - Not core of Spring framework.
1. Spring vs Spring Boot: What are they?
Let’s understand the definition first. What Spring (platform) is and what Spring Boot is actually about.What is Spring?Spring is an ecosystem of projects that make programming Java quicker, easier, and safer for everybody. Spring’s focus on speed, simplicity, and productivity. The main projects under Spring’s umbrella are:
Spring Boot
Spring Framework (Core)
Spring Data
Spring Cloud
Spring Security
Spring Integration
Spring Batch
Spring Web Flow
Spring Web Services
…
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 - it is not a replacement of Spring Framework. Developers use Spring Boot to save time and increase productivity. Learn more about Spring Boot.
2. Spring vs Spring Boot: Differences in Development
You can develop a Spring-based application with or without Spring Boot. So what are the differences?
Development without Spring Boot:
Lots of XML configs and/or Java-based configurations
Managing versions of dependencies is nightmare
Apps run on an external server (deployed as WAR)
Lots of time spent on configuration and writing boilerplate code
Project setup time: HIGH
Development with Spring Boot:
No XML configuration
Use starter dependencies that greatly simplify dependency management
Stand-alone apps with embedded server (executable JAR)
Automatically configure Spring and 3rd party libraries with sensible defaults
Project setup time: SUPER QUICK
3. Spring vs Spring Boot: Conclusion
So far I have explained the key differences between Spring and Spring Boot. Hope you’re pretty clear now. To sum up:
Spring is a huge framework that consists of many projects
Spring Boot is a Spring’s project
Spring Boot provides a set of libraries that greatly simplifies development of Spring-based apps
You can create Spring-based apps without or with Spring Boot
Use Spring Boot is easier and more productive
Spring Boot is the standard way for developing Spring-based apps
Nam Ha Minh is certified Java programmer (SCJP and SCWCD). He began programming with Java back in the days of Java 1.4 and has been passionate about it ever since. You can connect with him on Facebook and watch his Java videos on YouTube.
Comments