The Spring framework is modular, allowing developers to use only the needed modules provided by the framework. The complete list of this modules can be found on https://spring.io/projects. The following table summarizes some of the most important ones:
Spring project |
Logo |
Description |
Spring Framework |
Provides core support for DI, transaction management, web applications (Spring MCV), data access, messaging, and so on. |
|
Spring IO Platform |
|
Brings together the core Spring APIs into a cohesive and versioned foundational platform for modern applications. |
Spring Boot |
|
Simplifies the creation of standalone, production-grade Spring-based applications with the minimal configuration. It follows the convention-over-configuration approach. |
Spring Data |
|
Simplifies data access by means of comprehensive APIs to work with the relational databases, NoSQL, map-reduce algorithms, and so on. |
Spring Cloud |
|
Provides a set of libraries and common patterns for building and deploying distributed systems and microservices. |
Spring Security |
|
Provides customizable authentication and authorization capabilities for Spring-based applications. |
Spring Integration |
|
Provides a lightweight, POJO-based messaging for Spring-based applications to integrate with external systems. |
Spring Batch |
|
Provides a lightweight framework designed to enable the development of robust batch applications for operations of enterprise systems. |