Difference between Spring Vs Springboot:
Where it’s used?:
Spring framework is a java EE framework that is used to build applications.
Spring Boot framework is mainly used to develop REST API’s
The primary or most important feature of the Spring framework is dependency injection (Dependency Injection (DI) is a design technique that removes dependencies from computer code, making the application easier to maintain and test).
The main or primary feature of the Spring Boot is Autoconfiguration (Simply described, Spring Boot autoconfiguration is a method of automatically configuring a Spring application based on the dependencies found on the classpath.)
Autoconfiguration can speed up and simplify development by removing the need to define some beans that are part of the auto-configuration classes.
Why it’s used:
Type of Application Development:
The spring framework helps to create a loosely coupled application.
Spring Boot helps to create a stand-alone application.
In the Spring framework to test the Spring Project, we need to set up the servers explicitly.
Spring Boot offers built-in or embedded servers such as Tomcat and jetty.
In-memory database support:
The spring framework does not provide support for the in-memory database.
Spring Boot provides support for the in-memory database such as H2.
Spring framework requires too many lines of code (boilerplate code) even for minimal tasks.
You avoid boilerplate code which reduces time and increases productivity.
Spring Framework requires a number of dependencies to create a web app
Spring Boot, on the other hand, can get an application working with just one dependency. There are several more dependencies required during build time that is added to the final archive by default.
HTTP Basic Authentication is for enabling security confirmations, it indicates that several dependencies and configurations need to be enabled to enable security. Spring requires both the standard spring-security-web and spring-security-config dependencies to set up security in an application. Next, we need to add a class that extends the Web Security Configure Adapter and makes use of the @EnableWebSecurity annotation.
Spring Boot also requires these dependencies to make it work, but we only need to define the dependency of spring-boot-starter-security as this will automatically add all the relevant dependencies to the class path.
Testing in Spring Boot is difficult in comparison to Spring Boot due to a large amount of source code.
Testing in Spring Boot is easier due to the reduced amount of source code.
In the Spring framework, XML Configuration is required.
No need for XML configuration in Spring Boot.
Spring framework does not provide any CLI tool for developing and testing applications.
Spring Boot provides a CLI tool for developing and testing Spring Boot applications.
Spring framework does not provide any plugin for maven, Gradle, etc. like Spring Boot.
Spring Boot provides build tool plugins for Maven and Gradle. The Plugins offer a variety of features, including the packaging of executable jars.