
Explore how the course is organized into sections with runnable code projects, blending theory with hands-on Spring Boot practice and challenges.
In this lecture, I help you identify courses and tutorials that teach outdated functionality that has been replaced by better alternatives, or that cover topics not needed in real life.
Here, I instruct you on how to import the course materials into your computer's integrated development environment.
Explore how Maven manages a Spring project, using pom.xml, dependencies, and the spring-boot-starter-web dependency. Learn Maven conventions over configuration and how the project object model coordinates build and packaging.
Explore the basics of a Spring Boot application, including beans, dependency injection, and key annotations such as @Bean, @SpringBootApplication, and @Controller, plus REST controllers and Maven builds.
Complete the first self assignment, explore the BeansController and its spring bean, and verify the @GetMapping('/beans') returns an array of strings after startup.
Run the second Spring Boot application on port 8002, serving static pages and a dynamic greeting via Thymeleaf templates, with a GreetingController parsing name and age.
Engage in a hands-on challenge by modifying a spring boot 4 app: return templates/greeting.html, switch the form to post, and compute age from birth date for under-18 templates.
Run the Spring Boot 4 application to see a signup form validated with not blank, not null, and digits checks, plus custom date of birth validation and a signup-completed page.
Apply bean validation to enforce a valid email for the username using the correct Bean Validation 2.0 and Hibernate Validator annotations, and resolve the BigDecimal error while reviewing DayTimeFormat guidance.
Map Java objects to relational database entities using JPA, compare object graphs to table-based data, and map POJOs with @Entity for ORM, including foreign keys and auto primary key generation.
Explore REST concepts, resources and URIs, HTTP verbs, and how to map requests to controller methods in Spring Boot with annotations, curl testing, and HTTP status code handling via HandlerAdvice.
Explore the REST architectural style for designing web APIs, using stateless, resource-based requests with standard HTTP verbs to create, read, update, and delete resources.
Run the spring boot application and use curl to query courses and enrollments, post enrollments, and observe responses such as 201 created, 404 not found, and 400 bad request.
In this personal challenge, I would like to invite you to enhance my application in a specific way. You can copy and paste the exact task description and curl commands from the attached PDF.
I explain how I solved the problem.
Replace RestTemplate with RestClient in a Spring Boot 4 app, using a RestClient bean to fetch courses and manage enrollments via GET, POST, and DELETE calls.
Recap the section's practical work: rest calls with RestTemplate and RestClient, JSON translation with Jackson, and using Spring profiles to toggle beans and handle put request with a 400 status.
Use MockMVC to run controller tests without starting a web server, speeding up tests by mocking the web environment and using MockMVC assertions for fast, reliable verification.
Explore unit, web mvc tests, and integration tests for a Spring Boot enrollment controller, validating dates, mocking repositories, and verifying 201, 400, or 500 responses.
Cover the code with automatic tests, using unit tests with mocks via Mockito and validating mocked calls; explore integration tests with MockMVC and WebMVC to test a post endpoint.
This course covers all the essential parts of Spring Boot 4
I work as a Senior Java Developer and Solution Architect, and I know what topics are essential in the field
I introduce all the concepts in a logical order so you quickly get up to speed
I don't waste your time teaching you material that is hardly ever used in real-life (like Aspected Oriented Programming)
I show you real code, and I don't waste your time by live coding
I illustrate each section with a new working application that you can check out and run on your own computer.
Course is suitable for total beginners, but also for developers who have worked with Spring Boot
Course gives you a systematic understanding of both frameworks - Spring Framework and Spring Boot, and you need to understand that to work as a Senior Software Engineer one day
I show you how you can use ChatGPT or Copilot to move faster while still learning everything important
I teach you all the essential parts about Spring Boot in this course.
However, now and then, I point out what situations you can handle with an AI like ChatGPT or GitHub Copilot
I have included practical challenges
Each lecture is accompanied by a personal challenge that I have crafted for you to gain an understanding of the main concepts of the section.
I also provide complete solutions for all the challenges and explain them in separate videos - so you won’t have to be afraid that you get stuck solving any of the challenges.