This course is a beginner's step-by-step guide to developing web applications using Spring Boot, the most popular framework for building Java applications. You'll learn about Spring Boot 3 and its role in enabling developers to deliver enterprise-grade applications. We'll dive into Spring's fundamentals by creating a REST API that communicates with a database and is supported by a comprehensive suite of tests. By the end of this course you will have learned what you need to start building your own web applications with Spring Boot 3.
- Module 1: Course Introduction
- Who am I?
- Outcomes
- Prerequisites
- What is Spring?
- Module 2: Create the project
- start.spring.io
- Java Build Tools (Maven + Gradle)
- How to organize your code
- Where your code should go (create a simple class)
- No default package
- How to run your application (IDE/Maven/Command Line)
- Model
- Run + Location Class
- Records
- Logging
- Spring Boot DevTools
- start.spring.io
- Module 3: Web Application (REST API)
- Spring MVC
- CRUD (in-memory)
- @Component / Controller / RestController / Service / Repository
- REST API Testing
- Postman
- Http Client (IntelliJ)
- curl / HTTPie
- Dependency Injection
- Data Validation
- Configuration
- Error Handling
- Module 4: Database
- H2 Database
- JDBC Client (Keep it simple)
- Command Line Runner
- Loading JSON data
- Docker Compose & PostgreSQL
- Spring Data
- Module 5: REST Client
- What is a client
- Rest Template
- WebClient
- GraphQL Client
- Rest Client
- Http Interfaces
- What is a client
- Module 6: Testing
- Spring Boot Testing Toolkit
- No need to opt in to testing
contextLoads()
test@SpringBootTest
annotation- Documentation
- Writing Tests
InMemoryRunRepositoryTest
RunControllerTest
RunControllerIntTest
- Spring Boot Slice Tests
JDBCRunRepositoryTest
- Spring Rest Client Test
UserRestClientTest
- Spring Boot Testing Toolkit
- Resources
- Husband + Father (2 daughters) #girldad
- Cleveland, OH
- Spring Developer Advocate @Broadcom
- Java Champion
- Spring Academy Instructor
- 23+ years of Software Development Experience
- Java Fundamentals (Beginner - Intermediate)
- JDK 17+
- Check current version
java --version
- SDKMAN
- Check current version
- Java Build Tools (Maven / Gradle)
- IDE / Text Editor
- IntelliJ IDEA
- Spring Tools
- Visual Studio Code
- Eclipse
- API Testing Tool
- Postman
- Http Client (IntelliJ)
- cURL / HTTPie
- Docker Desktop
- "Learn Spring"
- What Spring is and what it can do
- How to build a web application with Spring Boot
- How to test a Spring Boot application
- How to use Spring Data to interact with a database
- What are you going to build?
- A fitness application that allows you to track runs through a REST API
The important part here is to take what you learn and apply it to your own projects.
This is a list of resources I recommend you check out to continue your learning.
- Spring Framework Reference
- Spring Framework API
- Spring Boot Reference
- Spring Boot API
- Spring Boot Guides