1. Spring :
Spring is an open-source lightweight framework that allows Java EE 7 developers to build simple, reliable, and scalable enterprise applications. This framework mainly focuses on providing various ways to help you manage your business objects. It made the development of Web applications much easier than compared to classic Java frameworks and Application Programming Interfaces (APIs), such as Java database connectivity (JDBC), JavaServer Pages(JSP), and Java Servlet. This framework uses various new techniques such as Aspect-Oriented Programming (AOP), Plain Old Java Object (POJO), and dependency injection (DI), to develop enterprise applications. The Spring framework can be considered as a collection of sub-frameworks, also called layers, such as Spring AOP. Spring Object-Relational Mapping (Spring ORM). Spring Web Flow, and Spring Web MVC. You can use any of these modules separately while constructing a Web application. The modules may also be grouped together to provide better functionalities in a Web application.
2. Spring Boot :
Spring Boot is built on top of the conventional spring framework. So, it provides all the features of spring and is yet easier to use than spring. Spring Boot is a microservice-based framework and making a production-ready application in very less time. In Spring Boot everything is auto-configured. We just need to use proper configuration for utilizing a particular functionality. Spring Boot is very useful if we want to develop REST API.
Difference between Spring and Spring Boot :
S.No. | Spring | Spring Boot |
---|---|---|
1. | Spring is an open-source lightweight framework widely used to develop enterprise applications. | Spring Boot is built on top of the conventional spring framework, widely used to develop REST APIs. |
2. | The most important feature of the Spring Framework is dependency injection. | The most important feature of the Spring Boot is Autoconfiguration. |
3. | It helps to create a loosely coupled application. | It helps to create a stand-alone application. |
4. | To run the Spring application, we need to set the server explicitly. | Spring Boot provides embedded servers such as Tomcat and Jetty etc. |
5. | To run the Spring application, a deployment descriptor is required. | There is no requirement for a deployment descriptor. |
6. | To create a Spring application, the developers write lots of code. | It reduces the lines of code. |
7. | It doesn’t provide support for the in-memory database. | It provides support for the in-memory database such as H2. |
8. | Developers need to write boilerplate code for smaller tasks. | In Spring Boot, there is reduction in boilerplate code. |
9. | Developers have to define dependencies manually in the pom.xml file. | pom.xml file internally handles the required dependencies. |