Learn Spring Boot with the following in-depth tutorials, covering from basic concepts to advanced concepts such as packaging, deployment and monitoring.
Most of these tutorials cover the changes introduced in Spring Boot 3 release and others should work automatically after migrating to Java 17 and Jakarta namespaces.
1. Getting Started
- Introduction to Spring Boot
- Spring Boot Hello World Example: Beginners Guide
- Spring vs. Spring Boot
- Introduction to Spring Boot Starter Parent
- Creating a Multi-Module Maven Project
- CRUD Application with Thymeleaf
2. Spring Boot Basics and Configurations
- Change the default port of an embedded server
- Changing Context Path
- Disable banner at startup
- Get all loaded beans with Class Type Information
- Custom PropertyEditor Configuration Example
- CommandLineRunner interface example
- Configure Jetty Server
- Embedded Tomcat Configuration
- Read a file from the resources folder
- Inject Application Arguments in @Bean and @Compoment
- Configuring Properties
3. Common Annotations
- Spring Boot Annotations
- @Repository Annotation
- @SpringBootApplication Autoconfiguration
- @Scheduled Annotation
- Difference Between @Controller and @RestController
4. Building REST APIs
- Building REST APIs with Spring Boot
- Create Jersey REST APIs with Spring Boot
- Internationalization with Spring Boot REST
- Spring Boot REST – Response Gzip Compression
- Spring Boot REST – Consume and Produce JSON
- Adding Custom Headers to Spring Boot REST APIs
- Spring retry module example with spring boot
- Generate Spring Boot REST Client with Swagger
- Springdoc-OpenAPI for Spring Boot REST Documentation
- Spring Boot OpenFeign Client Tutorial
5. Persistence with Spring Boot
- Spring Boot with H2 Database
- Spring boot JPA + Hibernate + HikariCP Configuration
- Spring Boot DataSource Configuration
- Separate DataSource for Test, Dev and Prod
- Spring boot 2 and Ehcache 3 example
- Spring Boot – CRUD Application
- Spring boot pagination and sorting example
- Spring boot crud operations example with hibernate
- Configure Hibernate with Spring Boot
- Spring boot caching tutorial with example
- Caffeine Cache with Spring Boot
- Guide to Cassandra with Spring Boot
- DynamoDB CRUD Example with Spring Boot 3
6. Security
- CORS with Spring Boot
- Spring Boot SSL [https] Example
- Adding Role-Based Security with Spring Boot REST APIs
- OAuth2 Authorization and Resource Servers
- Securing Spring Boot REST API with Basic Auth
7. Logging, Monitoring and Deployment
- Spring Boot Profiles
- Spring Boot Dev Tools
- Spring Boot Actuator
- AOP with Spring Boot
- Spring Boot war Packaging
- Spring Boot Embedded Server Logs
- Dockerizing a Spring Boot Application
- Create a Fat Jar App with Spring Boot
- Guide to Logging in Spring Boot
- Spring Boot log4j2 properties example
- Spring Boot log4j2.xml example
- Spring Boot Logging with application.yml
- Spring Boot Logging with application.properties
- Spring Boot Profile-specific Logging
- Spring Boot Console Logging Configuration
- Spring Boot Multiple Log Files
- Spring Boot Logging with Lombok
- Spring Boot Performance Logging
- Spring Boot Actuator /info endpoint
- Spring Boot Gradle Plugin
8. Testing
- Guide to Test a Spring Boot App
- Testing REST Controllers with Spring Boot @RestClientTest
- Spring Boot @DataJpaTest
- Testing in Spring Boot 2
- Spring boot @MockBean Example
- Testing Async REST APIs with @WebFluxTest and WebTestClient
- Spring boot integration test example
- Unit Testing a Spring Boot REST Controller
- Spring boot – @SpringBootTest
- Spring boot – @TestConfiguration
- Junit 5 with Spring boot 2
- Spring Boot 2, Mockito and JUnit 5 Example
- Spring boot MockMVC example
- Testing POST APIs using Spring Boot TestRestTemplate
- Integration Testing by Mocking REST APIs using WireMock
9. RestTemplate
- Intro to Spring RestTemplate
- Basic Auth with Spring RestTemplate
- Configuring Timeouts with Spring RestTemplate
- Spring Boot RestTemplate POST Example
- Spring Boot RestTemplate GET Example
- Spring boot JUnit example with RestTemplate
- Intro to Spring RestTemplateBuilder
- Logging Request and Response with Spring RestTemplate
- Configuring Spring RestTemplate with HttpClient
- REST API Request Validation with Spring Boot
- Building HATEOAS Links with Spring Boot REST
- Intro to Spring RestTemplate
- Basic Auth with Spring RestTemplate
- Configuring Timeouts with Spring RestTemplate
- Spring Boot RestTemplate POST Example
- Spring Boot RestTemplate GET Example
- Spring boot JUnit example with RestTemplate
- Intro to Spring RestTemplateBuilder
- Logging Request and Response with Spring RestTemplate
- Configuring Spring RestTemplate with HttpClient
- REST API Request Validation with Spring Boot
- Building HATEOAS Links with Spring Boot REST
10. WebClient
- Spring WebClient Tutorial
- Spring WebClient vs RestTemplate
- Spring WebClient POST Examples
- Setting Timeouts in WebClient
- Access ChatGPT APIs with Spring WebClient
11. Async
- Building @Async REST APIs with Spring @EnableAsync
- Spring Boot Async Controller with SseEmitter
- Spring Boot Async Controller with ResponseBodyEmitter
- Unit Testing Spring Async Rest Controller with MockMvc
- Spring Boot Async Rest Controller with Callable Interface
- RSocket with Spring Boot
12. Advance Topics
- Spring Boot Interview Questions
- Spring Boot Ehcache 2 Example
- Spring Boot SOAP Client – WebServiceTemplate Example
- Spring boot RSS feed with Rome
- Spring Boot SOAP Webservice Example
- Spring Boot JMSTemplate with Embedded ActiveMQ
- Spring Boot Send an email with an attachment
- Spring Boot JSP View Resolver Example
- Gson with Spring boot
- Spring Boot Filter
- Spring Boot Remoting – Spring RMI annotation example
- Spring Boot and Angular Application
- Spring Boot and GraphQL
- How to Configure MyBatis with Spring Boot
- Creating a Jasper Report with Spring Boot
13. New in Spring Boot 3
- Spring ProblemDetail and ErrorResponse
- Spring Declarative HTTP Client using @HttpExchange
- @RSocketExchange with Example
- PartEvent API to Stream Multipart Form Uploads
- Spring Boot @ServiceConnection
- Using Docker Compose with Spring Boot
- Spring RestClient (with Examples)
Happy Learning !!