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:
- Why Choose Spring as Your Java Framework?
- Spring Bean Annotations
- Spring Profiles
- Properties with Spring (popular)
- Project Configuration with Spring
- Spring Exceptions (Series)
- The Spring @Qualifier Annotation
- Understanding getBean() in Spring
- What is a Spring Bean?
- @Component vs @Repository and @Service in Spring
- Spring Core Annotations
- XML-Based Injection in Spring
- Using Spring @Value with Defaults
- A Quick Guide to Spring @Value
- Intro to Inversion of Control and Dependency Injection with Spring
- Constructor Dependency Injection in Spring
- Wiring in Spring: @Autowired, @Resource and @Inject
- Guide to Spring @Autowired
- Quick Guide to Spring Bean Scopes

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:
- Bootstrapping a Web Application
- Building a REST API
- Securing a REST API
- Basic and Digest Authentication for a REST API
- REST Pagination
- Entity To DTO Conversion for a Spring REST API
- Spring’s RequestBody and ResponseBody Annotations
- Error Handling for REST with Spring (popular)
- Max-HTTP-Header-Size in Spring Boot 2
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 Tutorial (popular)
- Spring JDBC (popular)
- Hibernate 4 with Spring
- The DAO with JPA and Spring
- Transactions with Spring and JPA (popular)
- A Guide to JPA with Spring (popular)
- Spring JPA – Multiple Databases
- Introduction to Spring Data JPA (popular)

Spring Persistence - No SQL

Spring Security
Next, a really strong aspect of the Spring ecosystem – security:
- Security with Spring (popular)
- Spring Security Authentication Tutorial (Series)
- Spring Security Registration (Series and Case Study)
Spring bottom
Get started with Spring 5 and Spring Boot 2, through the Learn Spring course:
>> THE COURSEGeneric footer banner


Learning to build your API
with Spring?
Download the E-book
with Spring?