What you'll learn:
- Learn to Build a Spring Boot Web Applications with Spring Boot 3, Spring Framework 6 and Java 21
- Create RESTful Web Services using SpringMVC, Spring Webflux, Spring WebFlux-fn, and Spring Data REST
- Secure APIs with Spring Security, OAuth 2.0, and JWT using Spring Authorization Server
- Consume RESTful APIs using Spring RestTemplate, Spring WebClient, and Spring RestClient (new in Spring 6.2)
- Use Spring Data JPA with Hibernate, Spring Data Mongo, and Spring Data R2DBC
- Test Spring MVC using Spring MockMVC, JUnit 5, and Mockito
- How to Use and Configure Spring Authorization Server
- Run Spring Boot Applications with Docker, Docker Compose, and Kuberentes
- How to Access a MySQL Database with Spring Boot
- Use Flyway for Database Migrations
- Use Project Lombok and MapStruct to Speed Up Your Development
- Configure HTTP Basic Auth with Spring Security
- Learn Functional Reactive Programming
- How to Configure Spring Cloud Gateway
- Validate Data using Bean Validation
This course is All Things Spring!
Do you wish to master Spring Framework 6 and Spring Boot 3? Then this is the course for you.
This 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.
All examples in the course use Java 21 and Spring Boot 3.3.0.
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 HTTPBasic 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 Caching
Spring Boot Maven Plugin
Spring Boot Gradle Plugin
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
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 AIadded 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
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 MVCimplements 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 APIendpoints. 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 SQLand NoSQLdatabases. 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 SQLdatabases, how to use Spring Data Mongo for persistence to the NoSQL Mongo Database, and how to use Spring Data R2DBC for reactive/non-blocking SQLdatabase 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 APIas 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 5 Spring Boot Applications you build in this course, plus how to run MySQLand 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.
Course Extra - IntelliJ IDEA Ultimate
Students enrolling in the course can receive a free 4 month trial license to IntelliJIDEAUltimate! Get hands on experience usingthe Java IDEpreferred 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 veryactive 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!
Closed Captioning / Subtitles
Closed captioning in Englishis available for all course videos!
PDFDownloads
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.