Spring AMQP: Communicate asynchronously using an Advanced Message Queueing Protocol (AMQP) message broker
Spring AOP: Apply advice to code using Aspect-Oriented Programming
Spring Batch: Process large volumes of content using batched jobs
Spring Cache: Ease the load on services by caching results
Data store connections (Apache Cassandra, Elasticsearch, Hazelcast, InfluxDB, JPA, MongoDB, Neo4j, Solr)
Spring Data (Apache Cassandra, Couchbase, Elasticsearch, JDBC, JPA, LDAP, MongoDB, Neo4j, R2DBC, Redis, REST): Simplify data access
Flyway: Database schema management
Templating engines (Freemarker, Groovy, Mustache, Thymeleaf)
Serialization/deserialization (Gson and Jackson)
Spring HATEOAS: Add Hypermedia as the Engine of Application State (HATEOAS) or hypermedia to web services
Spring Integration: Support integration rules
Spring JDBC: Simplify accessing databases through JDBC
Spring JMS: Asynchronous through Java Messaging Service (JMS)
Spring JMX: Manage services through Java Management Extension (JMX)
jOOQ: Query databases using Java Object Oriented Querying (jOOQ)
Apache Kafka: Asynchronous messaging
Spring LDAP: Directory-based services over Lightweight Directory Access Protocol (jOOQ)
Liquibase: Database schema management
Spring Mail: Publish emails
Netty: An asynchronous web container (non-servlet-based)
Quartz scheduling: Timed tasks
Spring R2DBC: Access relational databases through Reactive Relational Database Connectivity (R2DBC)
SendGrid: Publish emails
Spring Session: Web session management
Spring RSocket: Support for the async wire protocol known as RSocket
Spring Validation: Bean validation
Spring MVC: Spring’s workhorse for servlet-based web apps using the Model-View-Controller (MVC) paradigm
Spring WebFlux: Spring’s reactive solution for web apps
Spring Web Services: Simple Object Access Protocol (SOAP)-based services
Spring WebSocket: Support for the WebSocket messaging web protocol