Spring Tutorial
Last modified: February 21, 2020
The Spring Framework is a mature, powerful and highly flexible framework focused on building web applications in Java.
One of the core benefits of Spring is that it takes care of most of the low-level aspects of building the application to allow us to actually focus on features and business logic.
Another strong point is that, while the framework is quite mature and well-established, it's very actively maintained and has a thriving dev community. This makes it quite up to date and aligned with the Java ecosystem right now.
Of course, there's a lot to learn to work well with Spring.
Let's get started.

Basics of Spring
We'll start with some core aspects of the framework first:

Spring on the Web
The Spring MVC framework is the foundation of building web applications with Spring.
It powers a wide range of web applications, from traditional MVC-style applications, all the way to stateless REST APIs.
Let's start with some of the basics - the common ground between all of these styles of web applications:
And then, the basics of building a traditional, MVC-style web application:
And, if you'd like to explore the Spring MVC framework more in-depth, here's a more comprehensive guide to do that.
Finally, let's explore the RESTful support in Spring MVC:
And, if you'd like to further explore building a REST API with Spring, you can go through the more full-fledged series of articles here.

Spring Persistence - SQL
Spring supports most persistence solutions out there:

Spring Persistence - NoSQL

Spring Security
Next, a really strong aspect of the Spring ecosystem - security:

Other Spring Technologies