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:

Spring Framework vs Spring Boot

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)

 

Tutorials:


About the Author:

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.



Add comment