Let's get started with a Microservice Architecture with Spring Cloud:
Spring Tutorial
Last updated: February 7, 2025
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
- 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
- Wiring in Spring: @Autowired, @Resource and @Inject
- The Spring @Qualifier Annotation
- @Component vs @Repository and @Service in Spring
- Properties with Spring and Spring Boot
- A Quick Guide to Spring @Value
- Spring Profiles
- The @Scheduled Annotation in Spring
- Getting the Current ApplicationContext in Spring
- Spring YAML Configuration
- Working with Virtual Threads in Spring
- Spring Dependency Injection Series
- Spring PostConstruct and PreDestroy Annotations
- Spring Core Annotations
- Introduction to Spring AOP
- Spring @Component Annotation
- The Spring ApplicationContext
- @Order in Spring
- Guide to Spring Retry
- Introduction to Spring Batch
- A Guide To Caching in Spring
- Spring Events
.
.
.
.
.
Spring Boot Basics
- Spring Boot Tutorial – Bootstrap a Simple Application
- Spring Boot Annotations
- Intro to Spring Boot Starters
- Learn Spring Boot Series
.
.
.
.
.
Spring MVC
- Spring MVC Tutorial
- The Spring @Controller and @RestController Annotations
- Spring RequestMapping
- Spring @RequestParam Annotation
- Spring MVC and the @ModelAttribute Annotation
- Session Attributes in Spring MVC
- Introduction to Using Thymeleaf in Spring
- Spring MVC Series
.
.
.
.
.
Spring REST
- Creating a Web Application with Spring
- 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
- Entity To DTO Conversion for a Spring REST API
- Using Spring ResponseEntity to Manipulate the HTTP Response
- Spring RestTemplate Error Handling
- REST with Spring Series
- Documenting a Spring REST API Using OpenAPI 3.0
- Logging Spring WebClient Calls
- Spring WebClient vs. RestTemplate
- RestTemplate Post Request with JSON
- Open API Server Implementation Using OpenAPI Generator
- Setting a Request Timeout for a Spring REST API
- Setting Up Swagger 2 with a Spring REST API Using Springfox
.
.
.
.
.
Spring Persistence
- Bootstrapping Hibernate with Spring
- A Guide to JPA with Spring
- Transactions with Spring and JPA
- Spring JDBC
- Spring Persistence Series
- Spring Data JPA Projections
.
.
.
.
.
Spring Data
- Introduction to Spring Data JPA
- Spring Data Annotations
- CrudRepository, JpaRepository, and PagingAndSortingRepository in Spring Data
- Spring Data Series
.
.
.
.
.
Testing with Spring
- Testing in Spring Boot
- Integration Testing in Spring
- Override Properties in Spring’s Tests
- Setting the Log Level in Spring Boot When Testing
- Mocking a WebClient in Spring
- Getting and Verifying Response Data with REST-assured
- Guide to ReflectionTestUtils for Unit Testing
- Mockito.mock() vs @Mock vs @MockBean
- Cucumber Spring Integration
.
.
.
.
.
Other Spring Tutorials
.
.
.
.
.

















