Difference between Spring and Spring Boot

Spring is Open-Source framework , lightweight that allow us to build simple, reliable and scalable enterprise application.
The main feature of the spring framework is dependency Injection or Inversion of control (IoC). With the spring framework we can develop a loosely coupled application.

Features

  • Core technologies: dependency injection, events, resources, validation, data binding, type conversion, AOP.
  • Testing: mock objects, TestContext framework, Spring MVC Test.
  • Data Access: transactions, DAO support, JDBC, ORM, Marshalling XML.
  • Spring MVC and Spring WebFlux web frameworks.
  • Integration: remoting, JMS, JCA, JMX, email, tasks, scheduling, cache.
  • Languages: Kotlin, Groovy, dynamic languages.

Spring-Boot

Whereas, Spring Boot is module of spring framework. It allows us to build a Standalone Application with almost zero configuration. It is widely used to develop a REST APIs. The primary feature of spring-boot is Autoconfiguration. It automatically configure classes based on the requirement. It creates a standalone application with less configuration.

Features

  • Create stand-alone Spring applications
  • Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
  • Provide opinionated ‘starter’ dependencies to simplify your build configuration
  • Automatically configure Spring and 3rd party libraries whenever possible
  • Provide production-ready features such as metrics, health checks, and externalized configuration
  • Absolutely no code generation and no requirement for XML configuration