Spring è un framework open source per lo sviluppo di applicazioni su piattaforma Java. Grazie alla sua architettura estremamente modulare é possibile utilizzarlo nella sua interezza o solo in parte. Spring fornisce inoltre un approccio semplificato alla maggior parte dei problemi ricorrenti nello sviluppo software (accesso al database, gestione delle dipendenze, testing, etc.). A questo framework sono associati tanti altri progetti, che hanno nomi compositi come Spring Cloud ,Spring Boot, Spring Data, Spring Batch, eccetera. Questi progetti sono stati ideati per fornire funzionalità aggiuntive al framework.