What is Spring Framework used for?

In a nut shell, you use it to build enterprise level application. Basically it is framework that helps you to build an app that can generate some revenue or serve as a business service.

Things an enterprise app might need to do and Spring provides libraries for:

  • DataBase connections and manipulations. Spring Data module provides a kind of DB libararies, SQL or NOSQL
  • REST API. API is a crusial part of business service, and Spring provides Spring MVC for more traditional Servlet style and Spring Webflux for those performance geeks writing Reactive API.
  • Caching. Spring Cache is one of my favourite module. When set up correctly, I can use it boost performance by quite a lot.