YoVDO

[NEW] Spring Framework 6: Beginner to Guru

Offered By: Udemy

Tags

Spring Framework Courses Web Development Courses MySQL Courses Dependency Injection Courses Spring Security Courses Spring Data JPA Courses Spring WebFlux Courses

Course Description

Overview

All Things Spring! Spring Framework 6, Spring Boot 3, Spring AI, Spring MVC, Spring Data JPA, Spring Security, OAuth/JWT

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.


Taught by

John Thompson • 470,000+ Enrollments Worldwide

Related Courses

Spring Framework Certification Training
Edureka
Spring Boot and Angular Tutorial - Build a Reddit Clone (Coding Project)
freeCodeCamp
Spring Boot and Spring Security - Building a Shopping Cart Backend
freeCodeCamp
Building HTTP APIs with Spring
Vanderbilt University via Coursera
Advanced Spring: Spring Boot Actuator
LinkedIn Learning