Spring framework merupakan platform Java yang menyediakan dukungan infrastruktur untuk mengembangkan aplikasi Java. Fitur-fitur yang disediakan oleh Spring antara lain adalah Spring JPA, Spring Security, Spring MVC, RESTful Web Service Framework, dan lain sebagainya. Spring JPA digunakan untuk mengakses dan memanipulasi data pada database. Spring Security digunakan untuk menambahkan keamanan pada aplikasi, yaitu untuk melakukan autentikasi, enkripsi password, dan lain sebagainya. Spring MVC (Model-View- Controller) digunakan untuk membuat aplikasi Java yang memiliki tampilan (View), Model yang berfungsi sebagai objek relasi antara aplikasi dan database, dan Controller yang digunakan untuk mengatur request dan transaksi yang terjadi dalam aplikasi tersebut. Contohnya, sebuah aplikasi Spring yang digunakan oleh seorang admin untuk memasukkan data produk mengandung model Product, view yang berisi form untuk mengisi data produk, dan controller untuk menampilkan form ketika admin mengklik tombol “Add Product” ataupun ketika admin mengklik tombol “Submit”. RESTful Web Service Framework digunakan untuk membuat aplikasi yang berfungsi sebagai web service atau API (Application Programming Interface).

Spring juga menyediakan Spring Boot framework untuk mempermudah developer mengembangkan aplikasi Spring yang baru. Fitur-fitur yang sudah disebutkan di atas semuanya dapat dimasukkan ke dalam aplikasi Spring Boot, dan Spring Boot akan melakukan konfigurasi default. Dengan begitu, developer akan lebih dimudahkan ketika ingin membuat sebuah aplikasi Spring dan konfigurasi yang harus dilakukan pun akan berkurang. Namun, kekurangan dari Spring Boot adalah developer akan kesulitan jika ingin mengembangkan aplikasi yang sangat custom.