Mô tả

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.

This course has been developed by a back end developer, for back end developers!

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 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 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

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 18,700 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 English 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.

Bạn sẽ học được gì

Learn to Build a Spring Boot Web Application

Perform Dependency Injection with Spring Framework 6

Learn Best Practices for Building RESTful APIs

Use Project Lombok to Speed Up Your Development

Create RESTful Web Services using SpringMVC

Test Spring MVC using Spring MockMVC with Mockito

Use Spring Data JPA with Spring MVC

Validate Data using Bean Validation

How to Access a MySQL Database with Spring Boot

Use Flyway for Database Migrations

Create RESTful APIs Using Spring Data REST

How to use Spring RestTemplate

Configure HTTP Basic Auth with Spring Security

How to Use and Configure Spring Authorization Server

Create a Spring OAuth2 Resource Server

Learn Functional Reactive Programming

Learn Spring Data Mongo with Webflux-fn

How to Configure Spring Cloud Gateway

Yêu cầu

  • Basic Java knowledge is required
  • HTTP and HTML Knowledge is very helpful
  • Knowledge of SQL and databases is helpful

Nội dung khoá học

44 sections

Introduction

9 lectures
Course Introduction
01:22
Instructor Introduction
02:17
Getting the Most out of this Course
05:37
Setting Up Your Development Environment
03:52
Is Your IDE Free Like a Puppy?
02:45
Free 120 Day IntelliJ IDEA Trial!
00:42
Getting Help with the Spring Framework
07:31
Course Slack Room - Chat Live with Me and Other Gurus!
01:01
Using GitHub
12:20

Building a Spring Boot Web App

20 lectures
Introduction
01:16
Introduction to Spring
07:49
Application Overview
04:47
Spring Initilizer
05:37
Open Project in IntelliJ
08:43
Using JPA Entities
04:32
JPA Relationships
04:14
Code Examples in GitHub
03:57
Equality in Hibernate
03:32
Spring Data Repositories
03:56
Initializing Data with Spring
11:07
Assignment - Add Publisher Entity
1 question
Publisher Relationships
04:27
Introduction to H2 Database Console
06:01
Introduction to Spring MVC
05:42
Create Service Layer
03:41
Configuring Spring Controllers
03:55
Thymeleaf Templates
08:18
Assignment - Display List of Authors
1 question
Project Review
02:57

Dependency Injection with Spring

17 lectures
Introduction
01:07
SOLID Principles of OOP
06:36
Assignment: Create Spring DI Example Project
1 question
The Spring Context
04:11
Spring Test Context
04:11
Basics of Dependency Injection
08:12
Dependencies Without Injection
03:41
Dependency Injection without Spring
06:11
Dependency Injection using Spring Framework
08:29
Primary Beans
03:02
Using Qualifiers
08:02
Spring Profiles
06:10
Default Profile
03:24
Dependency Injection Assignment
1 question
Spring Bean Life Cycle
05:25
Spring Bean Life Cycle Demo
08:41
Dependency Injection Quiz
8 questions

Introduction to Restful Web Services

8 lectures
Introduction
02:29
HTTP Protocol
07:17
HTTP Request Methods
05:33
Postman Demonstration
05:08
Beginners Guide to REST
06:03
Richardson Maturity Model
04:04
Spring Framework and RESTFul Services
07:10
Restful Web Services Quiz
12 questions

Project Lombok

8 lectures
Introduction
01:38
Create New Project
04:08
Project Lombok Features
07:19
Project Lombok POJOs
04:13
Project Lombok Builders
03:50
Project Lombok Constructors
02:29
Project Lombok Logging
05:06
De-Lombock
02:07

Spring MVC Rest Services

17 lectures
Introduction
01:30
Introducing SFG Beer Works
01:23
HTTP GET with Spring MVC List Operation
04:40
HTTP Client
02:56
Using Path Parameters - Get By Id
06:18
Assignment - GET Customer
1 question
Spring Boot Development Tools
04:06
HTTP POST with Spring MVC
08:22
Set Header on HTTP Response
04:32
Assignment - HTTP POST with Spring MVC
1 question
HTTP PUT with Spring MVC
06:32
Assignment - HTTP PUT with Spring MVC
1 question
HTTP DELETE with Spring MVC
04:07
Assignment - HTTP DELETE with Spring MVC
1 question
HTTP PATCH with Spring MVC
05:24
Spring MVC Rest Quiz
5 questions
Assignment - HTTP PATCH with Spring MVC
1 question

Spring MockMVC Test with Mockito

19 lectures
Introduction
02:24
Introduction to Testing with MockMVC
09:20
MockMVC Configuration
06:48
Return Data With Mockito
05:14
Using JSON Matchers
05:49
MockMVC Test List Beers
03:12
Assignment - Test GET Customer
1 question
Create JSON Using Jackson
04:58
MockMVC Test Create Beer
05:45
Assignment - Test Create Customer
1 question
MockMVC Test Update Beer
04:02
Assignment - Test Update Customer
1 question
MockMVC Test Delete Beer
03:55
Assignment - Test Delete Customer
1 question
MockMVC Test Patch Beer
04:52
Assignment - Test Patch Customer
1 question
DRY - Don't Repeat Yourself
02:47
DRY - Refactoring
03:56
URI Builder
03:00

Exception Handling with Spring MVC

7 lectures
Introduction
01:30
Exception Handling Overview
06:33
Throw Custom Exception with Mockito
02:48
Using Exception Handler
02:42
Controller Advice
02:41
Using ResponseStatus Annotation
02:41
Using Java Optional
03:59

Spring Data JPA with Spring MVC

22 lectures
Introduction
02:51
Data Transfer Objects
04:26
Refactoring to DTOs
02:30
Spring Data JPA Dependencies
03:22
Creating JPA Entities
03:37
Hibernate UUID Id Generation
03:25
Spring Data JPA Repositories
02:41
Spring Boot JPA Test Splice
04:29
MapStruct Dependencies and Configuration
04:35
MapStruct Mappers
03:27
Assignment - Populate Test Data
1 question
JPA Services
03:07
JPA Get Operations
03:04
Controller Integration Test
06:10
Testing for expected Exceptions
03:35
Assignment - Implement Customer Get Operations
1 question
JPA Save New Beer Operation
06:43
JPA Update Beer by Id Operation
04:26
JPA Update Beer Not Found
06:33
JPA Delete Beer by Id
03:34
JPA Delete by Id Not Found
05:01
Assignment Implement Customer JPA Operations
1 question

Data Validation

12 lectures
Introduction
02:23
Data Validation Overview
07:54
Java Bean Validation Maven Dependencies
01:48
Controller Binding Validation
03:10
Custom Validation Handler
04:10
Custom Error Body
03:51
Assignment - Complete Beer Validation
1 question
JPA Validation
03:29
Database Constraint Validation
04:07
Controller Testing with JPA
03:40
JPA Validation Error Handler
02:00
JPA Validation Error Message
05:00

MySQL with Spring Boot

11 lectures
Introduction
02:29
Overview of MySQL
07:48
Installing MySQL
00:27
Create MySQL Schema and User Accounts
05:48
Adding MySQL Dependencies
03:14
Spring Boot MySQL Profile
05:02
Console Logging of SQL Statements
04:39
JPA Updates for MySQL
05:24
Hikari Datasource Pool
05:23
Schema Script Generation
04:32
Spring Boot Database Initialization
03:20

Flyway Migrations

7 lectures
Introduction
02:33
Overview of Flyway
05:43
Flyway Dependencies
02:13
Flyway Migration Script Configuration
06:52
Add Database Column
05:07
Flyway Advanced Spring Boot Configuration
03:03
Fixing Integration Tests using H2
03:15

CSV File Uploads

8 lectures
Introduction
01:54
Beer CSV Data
02:57
Beer CSV POJO
03:12
Mapping with OpenCSV
06:01
CSV Parse Service
05:30
Save CSV Data to Database
08:26
Hibernate Create and Update Timestamp
03:11
Fix Integration Tests
02:14

Query Parameters with Spring MVC

10 lectures
Introduction
01:32
Overview of Query Parameters
03:22
List Beers Spring MVC Test
03:13
Capture Query Parameters with Spring MVC
04:56
Update Service to Accept Query Parameter
03:38
Refactor Service with Conditional Logic
03:19
Find By Name with Spring Data JPA
05:00
Complete Implementation
02:58
Add Query by Beer Style
1 question
Complete Search Functionality
08:23

Paging and Sorting

7 lectures
Introduction
01:49
What is Paging and Sorting?
03:54
Paging and Sorting with Spring
03:12
Add Paging Parameters
04:44
Create Page Request Object
05:43
Refactor Spring Data JPA Repositories
06:52
Add Sort Parameter
03:12

Database Relationship Mappings

14 lectures
Introduction
02:31
Overview of Database Relationships
06:55
Review of Database Changes
03:42
Assignment - Create Migration Script
1 question
One to Many Bidirectional
04:48
Assignment - One To Many
1 question
Create Beer Order Repository
07:16
Persisting Beer Order Relationships
06:42
Association Helper Methods
05:58
Many to Many
06:56
Many to Many Persistence
07:17
One to One Bi-Directional
03:56
Cascade on Persist
04:42
Hibernate Cascade Types
02:32

Database Transactions & Locking

5 lectures
Introduction
02:47
Overview of Database Transactions
18:47
Database Locking Demo
07:43
Spring Data JPA Transactions
07:30
Optimistic Locking Demo
05:01

Introduction to Spring Data REST

12 lectures
Introduction
02:00
Project Code Review
04:57
Add Spring Data REST Dependency
02:38
List All With Spring Data REST
04:25
Set Base Path
01:53
Customize URL Path
04:56
Version Property - ETag Header
02:46
API Profile
03:45
Create with Spring Data REST
02:39
Update Data with Spring Data REST
02:13
Delete Data with Spring Data REST
01:51
Use Repository Methods
02:46

Spring RestTemplate

17 lectures
Introduction
02:14
Project Code Review
03:30
Create Client Service
03:45
Get List as JSON String
05:08
Get List as Java Map
04:54
Get List as Jackson Object
03:45
Spring Pageable with Jackson
07:09
RestTemplateBuilder Configuration
03:59
Externalize Root URL
03:33
Uri Components Builder
02:52
Query Parameters
03:34
Assn - Complete Query Parameters
1 question
URL Parameters
04:42
HTTP Post with RestTemplate
03:49
Get Response Header
03:14
HTTP Put with RestTemplate
04:03
HTTP Delete with RestTemplate
02:36

Testing Spring RestTemplate

10 lectures
Introduction
01:27
Create Mock Test Class
05:32
Using Mockito
04:46
Assignment - Test Get By Id
1 question
Mock Test Create Beer
04:49
Refactor Setup Method
02:43
Mock Test Update Beer
05:14
Mock Test Delete Beer
02:10
Mock Test Not Found
02:39
Mock Test Query Param
04:19

Spring Security Basic Auth

12 lectures
Introduction
01:53
Adding Spring Security Dependencies
04:09
Calling Rest API with Postman and HTTP Basic
03:17
Customizing User Name and Password
02:48
Testing Spring Security with JUnit 5
03:30
Spring Security Config - Disable CSRF
04:10
Assn - Complete Update of Tests
1 question
Spring Security with Web Application Context
04:36
Assn - Fix Remaining Tests
1 question
HTTP Basic with RestTemplate
05:50
Refactor of RestTemplate Builder Config
02:06
HTTP Basic with RestTemplate Mock Context
01:55

Spring Authorization Server

12 lectures
Introduction
01:47
Overview of OAuth 2 and JWT
08:08
Introduction to Spring Authorization Server
03:37
Create New Project
03:18
Add Authorization Server Filter Chain
03:40
Add Default Security Filter Chain
01:44
Create User Details Service
01:58
Add Registered Client Repository
03:39
Create JWK Source
03:33
Create JwtDecoder
01:11
Set Authorization Server Settings
01:40
Get Authorization Token Using Postman
07:21

Spring MVC OAuth2 Resource Server

6 lectures
Introduction
01:47
Maven Dependencies
02:07
Spring Security Configuration
02:41
Testing with Postman
03:01
Spring MockMVC Testing with JWT
03:34
Refactor JWT Tests
02:59

Spring RestTemplate with OAuth 2

6 lectures
Introduction
01:47
Maven Dependencies and Spring Configuration
04:00
Spring Authorized Client Manager
03:56
Http Request Interceptor
04:40
Add Interceptor to RestTemplate Builder
05:36
Mock OAuth2 Manager
09:34

Introduction to Reactive Programing

12 lectures
Introduction
02:02
Reactive Manifesto
04:30
What is Reactive Programming?
05:53
Reactive Streams API
04:44
Create Spring Boot Project
03:16
Implement Repository
04:46
Mono Operations
06:58
Flux Operations
05:48
Filter Flux Objects
03:35
Error Handling
06:03
Assn Implement Find By Id
1 question
Step Verifier
02:46

Spring Data R2DBC

9 lectures
Introduction
01:55
Overview of Spring Data R2DBC
04:54
Create Spring Boot Project
02:28
Initializing Database
05:10
Create Database Entity
02:42
Create Spring Data R2DBC Repository
02:46
Test Save New Entity
02:36
Add Create and Update Date with Auditing
01:54
Initializing Database
05:41

Spring WebFlux Rest Services

13 lectures
Introduction
02:11
Create WebFlux Controller
06:14
Assn - Implement MapStruct Mappers
1 question
List Flux from Database
05:09
Using Path Variables
05:48
Create New Beer Entity
05:19
Testing Create with Postman
03:47
Update Beer Entity
06:25
Test Update with Postman
01:38
Assn Patch Beer Entity
1 question
Delete Beer Entity
03:25
Add Validation
04:27
Assn - Add Customer Entity and Restful Endpoints
1 question

Spring WebFlux WebTestClient

8 lectures
Introduction
01:33
Test List Beers
03:33
Test Get By ID
02:00
Test Create Beer Entity
03:28
Test Update Beer Entity
01:59
Test Delete Beer Entity
02:01
Test Method Order
04:17
Assn - Write Customer Entity Tests
1 question

Exception Handling with Spring WebFlux

8 lectures
Introduction
02:03
Test Validation Failure On Create
02:01
Test Validation Failure On Update
01:35
Test Get By ID Not Found
02:40
Test Update Not Found
02:04
Assn - Write Test for Patch Not Found
1 question
Test Delete Not Found
03:11
Assn - Add Customer Exception Tests
1 question

Spring Data MongoDB

13 lectures
Running MongoDB Locally
00:52
Verify MongoDB installation
02:47
Create New Spring Boot Project
02:33
Add Entity, Model, and Mapstruct
05:00
Add Mongo Database and Client Configuration
01:48
Mongo Database Authentication
03:25
Add Spring Data Repository
03:01
Test Save New Document
05:32
Using Awaitility
03:24
Implement CRUD Operations
07:24
Find By Name with Spring Data Mongo
05:50
Find By Beer Style with Spring Data Mongo
06:11
Initializing Database
02:58

Spring WebFlux.fn Rest Services

12 lectures
WebFlux.fn Overview
02:34
WebFlux Handler
03:51
WebFlux Router
08:32
Get by Id Endpoint
03:33
Create Endpoint
06:27
Update Endpoint
03:23
Patch Endpoint
02:40
Delete Endpoint
02:08
Return HTTP 404 on not found
04:11
Add Validation
06:31
Using Query Parameters with WebFlux.fn
04:38
Assignment - Add Customer Entity and Endpoints
1 question

Spring WebClient

11 lectures
Create New Spring Boot Project
01:36
Get List as JSON String
05:22
Get List as Java Map
04:34
Get List as Jackson Object
02:50
Get List as Java POJOs
03:12
Webclient Global Configuration
04:32
Uri Components Builder
03:17
Query Parameters
02:38
HTTP Post with WebClient
05:35
HTTP Put with WebClient
02:33
Implement Patch and Delete
1 question

Spring WebFlux Resource Server

4 lectures
Maven Dependencies
01:52
Spring Security Configuration
03:02
Testing API Using Postman
01:51
Spring webTestClient Testing with JWT
04:47

Spring WEbflux.fn Resource Server

4 lectures
Maven Dependencies
02:43
Spring Security Configuration
04:08
Testing with Postman
02:32
Spring webTestClient Testing with JWT
04:57

Using OAuth 2.0 with Spring WebClient

3 lectures
Maven Dependencies and Spring Configuration
02:01
Spring Security Configuration
03:44
WebClient Filter Configuration
05:33

Spring Cloud Gateway

7 lectures
Overview of Spring Cloud Gateway
03:23
Create Spring Cloud Gateway Project
03:02
Server Port Mapping
04:26
v1 Route Mapping
05:21
Troubleshooting Spring Cloud Gateway
06:04
Assignment - Complete v2 and V3 Route Configuration
1 question
Gateway Resource Server Configuration
07:02

Spring Boot Maven Plugin

8 lectures
The Maven Build Lifecycle
05:37
Maven from the Command Line
05:12
Spring Boot Executable Jars
03:17
Running Spring Boot Executable Jars
03:11
Spring Boot Repackage to Executable Jar
02:53
Running Spring Boot With Maven
03:41
Resource Filtering
04:14
Maven Build Info
03:10

Spring Boot Gradle Plugin

5 lectures
Introduction to the Spring Boot Gradle Plugin
06:31
The Gradle Build LIfecycle
04:15
Gradle from the Command Line
03:34
Running Spring Boot with Gradle
01:54
Spring Boot Build Info
02:02

OpenAPI with Spring Boot

5 lectures
Introduction to OpenAPI
06:43
OpenAPI for Spring Boot Development
04:58
Springdoc Maven Dependencies
02:58
Springdoc Spring Security Configuration
05:51
Save OpenAPI Specification in Maven Build
06:33

OpenAPI Validation with RestAssured

5 lectures
Atlassian Swagger Request Validator
04:40
RestAssured Test
03:46
Spring Security Configuration
04:21
Configure Swagger Request Validator
04:11
Whitelist Validation Rules
03:47

Appendix A: Using GitHub

1 lectures
Git and GitHub Basics - Start Here!
00:44

Extra - Kube By Example - Building Spring Boot Docker Images

13 lectures
KBE - Course Introduction
00:52
KBE - Setting Up Your Development Environment
02:48
KBE - Introduction
01:00
KBE - Spring Boot Project Code Review
07:43
KBE - Creating Docker File
06:12
KBE - Building and Running Docker Image
04:44
KEB - Introduction - Building Layered Image
01:38
KBE - Overview and Maven Configuration
05:18
KBE - Multi-Stage Docker File
07:43
KBE - Introduction - Building Docker Images with Maven
04:41
KBE - Introducing Docker Maven
09:06
KBE - Using Properties in Builds
04:41
KBE - Pushing to Docker Hub
03:58

Extra - Kube By Example - Spring Boot On Kubernetes

14 lectures
KBE - Course Introduction
01:19
KBE - Setting Up Your Development Environment
03:15
KBE - Enable Kubernetes in Docker Desktop
03:31
KBE - Introduction to Deploying on Kubernetes
00:51
KBE - Create Deployment
04:50
KBE - Create Service
02:55
KBE - Port Forwarding
04:18
KBE - Terminating Services and Deployments
02:12
KBE - Exposing Services
03:47
KBE - Accessing Logs
02:51
KBE - Setting Environment Variables
04:52
KBE - Readiness Probe
05:09
KBE - Liveness Probe
04:27
KBE - Graceful Shutdown
03:49

Extra - Kube By Example - Spring Boot Microservices on Kubernetes

25 lectures
KBE - Course Introduction
01:42
KBE - Setting Up Your Development Environment
03:15
KBE - Enable Kubernetes in Docker Desktop
03:31
KBE - Introduction to Spring Boot Microservices on Kubernetes
01:53
KBE - Overview of Microservices Used in This Course
06:32
KBE - Source Code Review
04:09
KBE - Running Services via Docker Compose
11:10
KBE - Introduction - Infrastructure Services
01:20
KBE - MySQL Service
05:59
KBE - JMS Service
03:20
KBE - Introduction to Spring Boot Microservices
01:59
KBE - Inventory Service
04:09
KBE - Inventory Failover Service
02:40
KBE - Beer Service
04:24
KBE - Order Service
04:35
KBE - Add Readiness and Liveness Probe Configuration
06:49
KBE - Add Graceful Shutdown
05:22
KBE - Kubernetes Ingress Controllers
05:47
KBE - Spring Cloud Gateway Service
07:35
KBE - Deleting Services and Deployments
02:19
KBE - Introduction to Consolidated Logging
01:45
KBE - Logging Configuration Code Review
03:24
KBE - Elasticsearch
03:32
KBE - Kibana
03:28
KBE - Filebeat
10:38

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.