[NEW] Spring Boot 3, Spring Framework 6: Beginner to Guru

Spring 6, Spring Boot 3, Spring MVC, JPA/Hibernate, Mongo, Spring Security, OAuth2 JWT, MySQL, Docker/K8s, Microservices
19,535 Students enrolled
4.62
2081 reviews
  • Description
  • Curriculum
  • FAQ
  • Reviews
60792

This course is All Things Spring!

Do you wish to Master Spring Boot 3 and Spring Framework 6? Then this is the course for you.

This comprehensive course is for developers with no previous Spring Framework or Spring Boot experience.

You will master developing RESTful APIs with Spring Framework. Spring has three different options of creating RESTFul APIs: Spring MVC, Spring WebFlux, and Spring WebFlux.fn. You will see how to use each, and how to secure each using OAuth 2.0 with JWT.

Also covered in the course are popular persistence technologies. You will learn to use Spring Data JPA with Hibernate, Spring Data MongoDB, and Reactive with Spring R2DBC with MySQL.

You will see how to build event driven microservices using Spring Boot and Apache Kafka. You will be guided step by step to implement the event driven microservice example Spring Integration Cafe Sample project which was inspired by Gregor Hohpe’s classic post “Starbucks Does Not Use Two-Phase Commit”.

All examples in the course use Java 21 and Spring Boot 3.4.0 (Released November 2024).

Inside this course, you will learn about:

  • Build a Spring Boot Web App

  • Use Spring for Dependency Injection

  • Create RESTful Web Services with Spring MVC

  • Create RESTful Web Services with Spring Webflux

  • Create RESTful Web Services with Spring Webflux.fn

  • Learn Best Practices using Project Lombok with Spring

  • Create MapStruct Mappers as Spring Components

  • Spring MockMVC with Mockito and JUnit 5

  • Spring Data JPA

  • Spring Data MongoDB

  • Spring Data R2DBC (Reactive)

  • Spring RestTemplate

  • Spring RestClient

  • Spring WebClient

  • Spring WebTestClient

  • Spring Security HTTP Basic Authentication

  • Spring Security OAuth2 Authentication w/ JWT

  • Spring Authorization Server

  • Spring WebMVC OAuth2 Resource Server

  • Spring WebFlux OAuth2 Resource Server

  • Spring Cloud Gateway

  • Spring Boot Actuator

  • Spring AI

  • Spring Kafka

  • Spring Caching

  • Spring Application Events

  • Spring Boot Maven Plugin

  • Spring Boot Gradle Plugin

  • Spring Boot Test Containers

  • Spring Boot Docker Compose

  • Use Java Bean Validation with Spring

  • Spring Boot Auto-Configuration with MySQL

  • Use Spring Boot and Flyway for Database Migrations

  • Hibernate Database Relationship Mapping with Spring Data JPA

  • Build Docker Images using Spring Boot

  • Run Spring Boot Applications in Docker Containers

  • Use Docker Compose to run Spring Boot Applications

  • Deploy Spring Boot Applications to Kubernetes

  • Structured Logging with Spring Boot

Spring AI – Learn to use OpenAI with Spring!

This is the first major Spring course to include a section on Spring AI. You will learn how to leverage OpenAI’s ChatGPT API using Spring AI.

Course Updates

  • April 2024 – Introduction to Spring AI added to Course

  • May 2024 – Course Updated to Java 21 and Spring Boot version 3.3.0

  • May 2024 – Spring RestClient – NEW to Spring Framework 6.1

  • June 2024 – Using Spring Boot with Docker, Docker Compose and Kubernetes

  • November 2024:

    • Adding Spring Professional Certification Practice Test – 100 questions to test your Spring knowledge!

    • Course Updated to Spring Boot version 3.4.0, includes content on the new Structured Logging feature.

    • Added section on using Spring Boot Test Containers and Spring Boot Docker Compose

  • December 2024 – Add content for building microservices with Spring Boot and working with Apache Kafka

Spring Core

At the core of the Spring Framework is the Spring IoC Container. Inversion of Control is a design pattern where control is inverted compared to procedural programming. In procedural programming, the software calls reusable components to complete tasks. In contrast, with IoC it is the framework which calls the reusable libraries. Development with IoC becomes very efficient since the focus is more on the custom business logic and common logic is left to the framework to perform.

Spring MVC

SpringMVC is Spring Framework’s original web application framework. Spring MVC implements the model-view-controller design pattern, where a model (data) is shared with with a controller which presents the data to the end user in the view (HTML, JSON, XML, etc).  In this course you will learn how to develop RESTful APIs using Spring MVC.

Spring Webflux

Spring Webflux was introduced to the Spring Framework in version 5. Spring Webflux is a reactive web application framework using non-blocking Java components for building efficient and scalable web applications.  Like Spring MVC, Spring Webflux also implements the model-view-controller design pattern. Spring Webflux closely follows the familiar syntax of Spring MVC. In this course you will learn to use Spring Webflux to create modern RESTful APIs.

Spring Webflux.fn

Spring Webflux.fn was also introduced in Spring Framework version 5. Spring Webflux.fn follows a functional programming paradigm. Through the use of functional programming, you can rapidly develop API endpoints. In this course you will learn how to use the functional programming paradigm of Spring Webflux.fn to develop RESTful APIs.

Spring Data

Spring Data is a family of Spring Framework projects for persistence operations to SQL and NoSQL databases. The Spring Data projects implement the easy to use Repository Pattern to persist objects to the database. In this course you will see how to use Spring Data JPA for persistence with SQL databases, how to use Spring Data Mongo for persistence to the NoSQL Mongo Database, and how to use Spring Data R2DBC for reactive/non-blocking SQL database persistence.

Spring Security

Spring Security is commonly used to secure Spring Framework applications. You will see how simple it is to use Spring Security for HTTP Basic authentication. You will also learn how to use Spring Security with OAuth 2.0 authentication.

Spring Authorization Server is a recent addition to the Spring Framework family of projects. Spring Authorization server is a lightweight alternative to other identity providers, such as Keycloak. You will learn to implement the OAuth 2.0 Client Credentials flow to obtain a JWT authorization token from the Spring Authorization Server and how to configure RESTful APIs in Spring MVC, Spring Webflux, and Spring Webflux.fn as OAuth 2 Resource Servers.

Spring Rest Clients

Spring Framework 6 now has 3 different rest clients which may be used to interact with RESTful APIs.

Spring RestTemplate was originally was introduced in Spring Framework version 3. You will learn to use Spring RestTemplate to authenticate with OAuth 2.0 and interact with RESTful APIs.

Spring WebClient was introduced in Spring Framework version 5. Spring WebClient is a reactive/non-blocking rest client. Like Spring Webflux.fn, Spring WebClient uses an efficient fluent API. In this course you will learn to use Spring WebClient to authenticate with OAuth 2.0 and interact with RESTful APIs.

Spring RestClient is the latest Rest Client for the Spring Framework. Spring RestClient was introduced to the Spring Framework with Spring Framework 6.1 in November of 2023. Spring RestClient uses the same synchronous libraries as Spring RestTemplate. But Spring RestClient uses the same functional API as Spring WebClient. You will learn to use Spring RestClient to authenticate with OAuth 2.0 and interact with RESTful APIs.

Spring Boot

Spring Boot was added to the Spring Framework family of projects in 2014. Spring Boot brings sensible ‘convention over configuration’ to the Spring Framework. Spring Boot helps minimize configuration tasks by providing an opinionated configuration through the use of Spring Boot starters. For many 3rd party libraries, Spring Boot will automatically provide sensible defaults and configuration of components.

Spring Boot also provides production-ready features such as metrics, health checks and externalized configuration.

Docker with Spring Boot

A very common way to deploy Spring Boot applications is to use Docker containers. You will see how easy it is to use the Spring Boot Maven plugin to generate a Docker image for your application. Once the image is created, you can run the image in a Docker container. You will learn the Docker commands to start 5 different Spring Boot applications.

Docker Compose with Spring Boot

Docker Compose is a tool for running multi-container applications. You will learn how to start the 8 different Spring Boot Applications you build in this course, plus how to run MySQL and Mongo DB inside of a Docker network. Spring Cloud Gateway is used to control ingress to the RESTful Spring Boot services running in side the Docker network.

Kubernetes with Spring Boot

Kubernetes is a popular container orchestration platform. Originally developed by Google, Kubernetes is being adopted by companies all over the world. Using the same applications you learned to deploy with Docker and Docker Compose, you will learn how to deploy them in a Kubernetes context.

Spring Boot Microservices with Apache Kafka

Learn about creating event driven microservices using Spring Boot and Apache Kafka. You will learn about the concepts behind using microservices and how to develop microservices using Spring Boot. See how you can use asynchronous messaging with Apache Kafka to send and consume messages from microservices.

All Source Code in Github

In this course you will build 18+ Spring Boot projects. Each project is maintained in a GitHub repository. When you enroll in this course, you will have access to all 18+ Github repositories. Each lesson in the course contains links to the relevant Github repository for the lesson.

Course Extra – IntelliJ IDEA Ultimate

Students enrolling in the course can receive a free 4 month trial license to IntelliJ IDEA Ultimate! Get hands on experience using the Java IDE preferred by Spring Framework professionals! 

Course Extra – Access to a Private Slack Community

You’re not just enrolling in a course –> You are joining a community learning Spring.

With your enrollment to the course, you can access an exclusive Slack community. Get help from the instructor and other Spring Framework Gurus from around the world – in real time! This community is only available to students enrolled in this course. 

This is a very active Slack community with over 19,000 Spring Framework Gurus!

This is the largest online community of people learning Spring in the world.

With your enrollment, you can join this community of awesome gurus!

Course Extra – Spring Professional Certification Practice Test

When you’ve completed this course, at the end you will have access to a Spring Professional Certification Practice Test. Test your Spring knowledge! The test is designed to help you prepare for the Spring Professional Certification, or maybe to get ready for an interview as a Spring Developer! This test has 100 random questions about the Spring Framework and Spring Boot.

Closed Captioning / Subtitles

Closed captioning in English, Spanish, French, German, Dutch, Polish, Portuguese, Chinese, and Turkish is available for all course videos!

PDF Downloads

All keynote presentations are available for you to download as PDFs.

Lifetime Access

When you purchase this course, you will receive lifetime access! You can login anytime from anywhere to access the course content.

No Risk – Money Back Guarantee 

You can buy this course with no risk. If you are unhappy with the course, for any reason, you can get a complete refund. The course has a 30 day Money Back Guarantee.

Your Learning Outcomes of this Course

Completing this course you will be:

  • Comfortable managing Dependency Injection with Spring.

  • Proficient writing RESTful APIs using all three Spring web frameworks: Spring MVC, Webflux, and Webflux.fn

  • Able to consume RESTful APIs using all three clients in the Spring Framework: RestTemplate, WebClient, and RestClient

  • Use non-blocking reactive programming for RESTful APIs and database persistence

  • Use Spring Security to secure RESTful APIs using QAuth 2.0 and JWT

  • Proficient persisting data to SQL databases like MySQL using JPA and Hibernate

  • Use NoSQL databases like MongoDB for persistence operations

  • Send and receive messages with Apache Kafka

  • Use Spring Cloud Gateway to secure and route traffic to microservices

  • Deploy Spring Boot applications using Maven, Gradel, Docker, Docker Compose, and Kubernetes

  • Develop microservices using Spring Boot and asynchronous messaging with Apache Kafka

  • Able Easily manage database migrations using Flyway

  • Ready to use Spring Boot to build real world applications! 

  • Build event driven microservices using Spring Boot and Apache Kafka.

Are You Ready to Become a Spring Framework Guru?

Jumpstart your career as a Spring Developer and enroll in this today! You’re not going to find a more comprehensive Spring Course than this one!

Performing Dependency Injection with Spring
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.62
2081 reviews
Stars 5
1303
Stars 4
580
Stars 3
128
Stars 2
37
Stars 1
33