Overview of Core Spring Ecosystem Projects
While 'Spring' technically refers to the core Inversion of Control (IoC) container, the ecosystem consists of several specialized sub-projects for different architectural needs:
- Spring Boot: An opinionated wrapper that simplifies application startup by reducing manual configuration, providing an embedded Tomcat server, and using 'Starter' dependencies.
- Spring MVC: The primary module for building REST APIs and standard Model-View-Controller web applications.
- Spring Data: An abstraction layer for database access, featuring sub-projects like
Spring Data JPA(SQL) andSpring Data MongoDB(NoSQL). - Spring Security: A framework for implementing Authentication (logins) and Authorization (permissions), supporting JWTs and OAuth2.
- Spring Cloud: A set of tools for microservices and distributed systems, including Load Balancing, Circuit Breakers, and Service Registration.
- Spring Batch: A framework for processing large volumes of enterprise data via background cron-jobs.