We've opened a new role Backend Java/Spring Team Lead with Integration Experience. Part-time and entirely remote, of course.
Spring Tutorial
Last updated: September 28, 2023
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.
Spring Core Basics
We’ll start with some core aspects of the framework first:
- Why Choose Spring as Your Java Framework?
- Intro to Inversion of Control and Dependency Injection with Spring
- Constructor Dependency Injection in Spring
- What Is a Spring Bean?
- Quick Guide to Spring Bean Scopes
- Spring Bean Annotations
- Guide to Spring @Autowired (popular)
- Wiring in Spring: @Autowired, @Resource and @Inject
- The Spring @Qualifier Annotation
- @Component vs @Repository and @Service in Spring
- Properties with Spring and Spring Boot (popular)
- A Quick Guide to Spring @Value (popular)
- Spring Profiles (popular)
- The @Scheduled Annotation in Spring (popular)
Spring Boot Basics
Next, let’s explore the basics of Spring Boot:
Spring MVC
The Spring MVC framework is the foundation of building web applications with Spring.
Let’s start with some of the basics of building the MVC-style web application:
Spring REST
Let’s explore the RESTful support in Spring MVC:
- Creating a Web Application with Spring 5
- Build a REST API with Spring and Java Config
- Spring's RequestBody and ResponseBody Annotations
- REST Pagination in Spring
- Error Handling for REST with Spring (popular)
- Entity To DTO Conversion for a Spring REST API
- Using Spring ResponseEntity to Manipulate the HTTP Response (popular)
- Spring RestTemplate Error Handling
- REST with Spring Tutorial (Series)
- Documenting a Spring REST API Using OpenAPI 3.0 (popular)
Spring Persistence
Spring supports most persistence solutions out there:
- Bootstrapping Hibernate with Spring
- A Guide to JPA with Spring
- Transactions with Spring and JPA (popular)
- Spring JDBC (popular)
- Spring Persistence Tutorial (Series)
Spring Data
Spring supports various technologies to access data:
Testing with Spring
Finally, let’s explore testing support in Spring:
Other Spring Tutorials
- Security with Spring (popular) (Series) How to Secure an MVC project, Login and Logout, how to Secure a REST Service using OAuth.
- Spring Reactive Guide (Series) Learn about the reactive support in Spring
- Spring Cloud Tutorial (Series) An overview of the Spring Cloud family of projects.