Parameter Spring Framework Spring Boot
Purpose It is a Java EE framework that developers use to build web apps. It is an advanced layer added to Spring framework; developers use to build REST APIs.
Key Functionality The most essential feature is Dependency Injection (DI) which enables ease of coding, testing, and maintaining the application by removing dependencies. The prime feature of Spring Boot is Autoconfiguration, which helps with speedy and easy development. It eliminates the necessity to pre-define beans for autoconfiguration.
Why to use To develop Java Enterprise Edition applications with ease, simplicity, and enhance productivity. It uplifts the Spring framework by adding the RAD (rapid application development) functionality.
Use Case Lousely coupled applications Standalone applications
Deployment Descriptor Mandatory Not needed
Server Dependency Explicit configuration of servers. Pre-install or embed servers like Tomcat and Jetty.
Database No support for in-memory database. Support for in-memory databases like H2.
Coding Comlexity Many lines of boilerplate code for simple task. Eliminates Boilerplate code.
Configurations Manual configuration building. Default configurations for faster bootsratping.
Dependencies Many dependencies Single dependency.
HTTP authentication for Security Requires the standard spring-security-web and spring-security-config dependencies Only needs to define the dependency spring-boot-starter-security.
CLI Tools Not included. Includes
XML Configuration Required Not needed
Testing Comparatively difficult. Easier
Plugins No plugins for Maven, Gradle, and other build tools. Avails & includes plugins for Gradle, Maven, and many more features