Spring 6 & Spring Boot 3 for Beginners (Includes 5 Projects)

34h 28m 12s
English
Paid

Course description

In this course, you will learn Spring Framework Core 6, Spring Boot 3, REST API, Spring MVC, WebFlux, Spring Security, Spring Data JPA, Docker, Thymeleaf, IntelliJ IDEA, Maven, and Building Projects

No Spring framework experience is needed, I will teach you all the Spring framework core features so that you will understand Spring Boot in-depth and how it works behind the scenes.

Read more about the course

What is Spring Boot?

Spring Boot is basically an extension of the Spring framework which eliminated the boilerplate configurations required for setting up a Spring application.

Spring Boot is an opinionated framework that helps developers build Spring-based applications quickly and easily. The main goal of Spring Boot is to quickly create Spring-based applications without requiring developers to write the same boilerplate configuration again and again.

What is Spring MVC?

  1. Spring MVC is a popular module in Spring Framework and it is used to develop web applications as well as RESTful web services.

  2. Spring MVC is called a web framework because it provides all the required components to develop a complete web application.

  3. The Spring MVC framework provides Model-View-Controller (MVC) architecture and ready components that can be used to develop flexible and loosely coupled web applications

What is Thymeleaf?

Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTMLXMLJavaScriptCSS, and even plain text.

The main goal of Thymeleaf is to provide an elegant and highly-maintainable way of creating templates.

It's commonly used to generate HTML views for web applications.

Thymeleaf is a very popular choice for building UI so we will be using Thymeleaf to build the view layer in the Spring MVC web application (Blog App).

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 298 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Spring 6 & Spring Boot 3 for Beginners (Includes 5 Projects)

0:00
/
#1: Course Introduction

All Course Lessons (298)

#Lesson TitleDurationAccess
1
Course Introduction Demo
04:27
2
Quick Overview of Spring Framework
01:31
3
Create and Setup Spring Application in IntelliJ IDEA
02:15
4
Understanding Tightly Coupling and Loose Coupling
11:48
5
Spring IOC Container - Theory
05:46
6
Steps for Java Based Configuration
06:33
7
Spring IOC Container - Example
13:09
8
Summary - How Spring IOC Container Works
02:51
9
Steps for Annotation Based Configuration
08:07
10
Annotation Based Configuration Example
10:40
11
@Qualifier and @Primary Annotations
05:45
12
Stereotype Annotations - @Controller, @Service and @Repository
09:09
13
Difference Between Java Based and Annotation Based Configuration
05:41
14
What is Dependency Injection
05:08
15
Example - Without Dependency Injection
08:53
16
Example - Dependency Injection using Spring Framework
07:34
17
Constructor Based Dependency Injection
08:10
18
Setter Based Dependency Injection
06:18
19
When to Use Construction Injection and Setter Injection?
06:00
20
Why Constructor Injection is Recommended?
04:16
21
Field Based Dependency Injection
06:59
22
@Bean Annotation In-Depth
11:17
23
@Bean Annotation - initMethod and destroyMethod Attributes
05:26
24
Assignment - Sending an Email
02:51
25
Assignment Solution 1 - Using Annotation Based Configuration
10:19
26
Assignment Solution 2 - Using Java Based Configuration
04:11
27
What is Spring Boot?
07:10
28
Spring Boot Features
08:03
29
Creating Your First Spring Boot Project
06:46
30
Understanding Spring Boot Project Structure
06:56
31
Spring Boot Starters Feature
10:24
32
Spring Boot Starter Parent
07:54
33
Spring Boot Auto Configuration Feature - Theory
04:11
34
Spring Boot Auto Configuration Feature - In an Action
10:14
35
Understanding @SpringBootApplication Annotation
10:14
36
How Spring Boot Works Internally
08:16
37
Section Introduction
01:49
38
Create Spring Boot Project using Spring Initializr and Import in IntelliJ IDE
05:53
39
Create Simple Spring Boot REST API
07:22
40
Spring Boot REST API That Returns Java Bean as JSON
05:40
41
Create Spring Boot REST API returns List in JSON Format
03:53
42
Spring Boot REST API with Path Variable - @PathVariable
07:59
43
Spring Boot REST API with Request Param - @RequestParam
06:42
44
Spring Boot POST REST API - @PostMapping and @RequestBody
09:22
45
Spring Boot PUT REST API - @PutMapping and @RequestBody
09:06
46
Spring Boot DELETE REST API - @DeleteMapping
04:48
47
Using Spring ResponseEntity to Manipulate the HTTP Response
09:40
48
Define Base URL for REST API’s in Spring MVC Controller - @RequestMapping
05:32
49
Section Introduction
01:50
50
Create and Setup Spring Boot Project in IntelliJ
06:01
51
Configure MySQL Database in Spring Boot App
05:31
52
Create User JPA Entity
06:52
53
Create Spring Data JPA Repository - UserRepository
06:21
54
Build Create User REST API
13:36
55
Build Get User By ID REST API
08:15
56
Build Get All Users REST API
05:29
57
Build Update User REST API
10:13
58
Build Delete User REST API
05:05
59
Understanding DTO Pattern
04:08
60
How to Use DTO in Spring Boot Project
05:18
61
Refactor Create User REST API to use DTO
10:16
62
Create and Use UserMapper Class
05:21
63
Refactor Get User By Id REST API to use DTO
03:43
64
Refactor Get All Users REST API to use DTO
03:45
65
Refactor Update User REST API to use DTO
04:31
66
ModelMapper and MapStruct Libraries Overview
04:31
67
Using ModelMapper Library to Map Entity to DTO and Vice Versa
13:25
68
Using MapStruct Library: Step 1 - Add Maven Dependencies
04:34
69
Using MapStruct Library: Step 2 - Create Mapper
05:08
70
Using MapStruct Library: Step 3 - Using Mapper and Test CRUD REST API's
07:11
71
Spring Boot REST API Exception Handling Overview 1
04:25
72
Spring Boot REST API Exception Handling Overview 2
02:19
73
How to Create and Use Custom Exception - ResourceNotFoundException
13:08
74
Handing Specific Custom Exception - ResourceNotFoundException
10:35
75
Handing Specific Custom Exception - EmailAlreadyExistsException
08:39
76
Spring Boot REST API Global Exception Handling
03:58
77
Validation with Spring Boot - Overview
04:13
78
Validate Create and Update User REST API Requests
06:34
79
Customizing Validation Error Response
11:46
80
Actuator Section Overview
01:21
81
Adding Actuator to Spring Boot App
04:22
82
The /info Endpoint
03:31
83
The /health Endpoint
02:29
84
The /beans Endpoint
03:16
85
The /conditions Endpoint
02:39
86
The /mappings Endpoint
03:38
87
The /configprops Endpoint
02:35
88
The /metrics Endpoint
05:12
89
The /env & /threaddump Endpoints
03:47
90
The /loggers Endpoint
04:40
91
The /shutdown Endpoint
03:04
92
Section Overview and Demo
04:01
93
Generate REST API Documentation using SpringDoc OpenAPI
08:28
94
Define General API Information using Annotations
06:18
95
Customizing Swagger API Documentation with Annotations
11:53
96
Todo Management Project - Understanding Requirements
02:09
97
Create and Setup Spring Boot Project in IntelliJ IDEA
05:10
98
Configure MySQL Database in Spring Boot Application
05:28
99
Create Todo JPA Entity
05:55
100
Create TodoRepository and TodoDto
08:00
101
Build Add Todo REST API
13:41
102
Using ModelMapper Library
07:07
103
Build Get Todo REST API
10:40
104
Build Get All Todos REST API
06:50
105
Build Update Todo REST API
11:00
106
Build Delete Todo REST API
06:24
107
Build Complete Todo API
08:16
108
Build In Complete Todo REST API
06:34
109
Section Overview
01:08
110
Authentication and Authorization
04:11
111
Adding Spring Security to Spring Boot Project (Todo Management)
04:13
112
Spring Boot Auto Configuration for Spring Security
09:22
113
Customizing the Default User
03:59
114
Configure and Understand Basic Authentication
09:07
115
In-Memory Authentication
06:36
116
Understanding Role-Based Autherization
15:30
117
Method Level Security
11:42
118
Creating User and Role JPA Entities
10:48
119
Creating UserRepository and RoleRepository
04:29
120
Creating CustomUserDetailsService Class Implements UserDetailsService
08:05
121
How Database Authentication Works in Spring Security
09:11
122
Spring Security Database Authentication
12:49
123
Module Introduction - What you will learn in this section?
01:14
124
Transaction Management with Spring Data JPA
07:01
125
Use Case - Placing Order on eCommerce Shopping Website
03:18
126
Create and Setup Spring Boot Project in IntelliJ
06:44
127
Configure MySQL Database
05:20
128
Create Order and Payment JPA Entities
08:11
129
Create OrderRepository and PaymentRepository Interfaces
02:28
130
Create OrderRequest and OrderResponse DTO Classes
02:28
131
Create Service Layer
09:35
132
Create Place Order REST API and Test using Postman
06:37
133
Handle Transaction using Spring @Transactional Annotation
06:33
134
Create Spring Boot Project
06:12
135
Configure MySQL Database
05:21
136
Create Product JPA Entity
04:45
137
Create ProductRepository Interface
02:31
138
Create JPQL and Native SQL Queries to Search Products
05:25
139
Create Service Layer
03:03
140
Build Search REST API and Test using Postman
10:10
141
What is ORM?
03:25
142
What is JPA?
05:39
143
What is Hibernate?
04:04
144
JPA vs Hibernate
02:47
145
What is Spring Data JPA?
03:46
146
Hibernate vs Spring Data JPA
04:47
147
Basic Flow of Spring Data JPA
03:49
148
Create and Setup Spring Boot Project in IntelliJ IDEA
06:35
149
Understanding Spring Boot Starter Data JPA Dependency
04:18
150
Connect Spring Boot Project with MySQL Database
11:17
151
Create Product Entity with @Entity and @Id
08:04
152
Using JPA Annotations - @Table, @Column, @GeneratedValue and @UniqueConstraint
12:00
153
Primary key generation strategies - AUTO, IDENTITY, SEQUENCE and TABLE
14:24
154
Adding Hibernate annotations - @CreationTimestampВ andВ @UpdateTimestamp
02:36
155
Using Lombok Library to Reduce Boilerplate Code
04:46
156
Understanding Spring Data JPA Repository Interfaces and it’s Hierarchy
08:16
157
Decompile Spring Data JPA Library to Understand Repository Interfaces
07:32
158
Steps to Create Spring Data JPA Repository - ProductRepository
06:03
159
Overview of Spring Data JPA Repository Methods
03:51
160
save() - Save an Entity to the Database Table
12:16
161
save() - Update an Entity to the Database Table
06:24
162
findById() - Retrieve a Single Entity from the Database
03:55
163
saveAll() - Save Multiple Entities to the Database Table
06:19
164
findAll() - Retrieve All the Entities From the Database Table
04:15
165
deleteById() - Delete a Single Entity from the Database
03:44
166
delete() - Delete an Entity From the Database Table
07:06
167
deleteAll() - Delete All the Entities From the Database Table
10:01
168
count() - Get the Number of Records in the Database Table
03:32
169
existsById() - Check if Entity Exists With Given ID in the Database Table
05:46
170
Overview of Creating Query Methods From Method Names Strategy
02:44
171
How Query Generation From Method Names Works Behind the Scene
05:09
172
Understanding Rules and Supported Keywords to Create Query Methods
12:44
173
Spring Data JPA Query Method - Find by Single Field Name
13:14
174
Spring Data JPA Query Method - Find by Multiple Field Names
12:40
175
Spring Data JPA Query Method - Find by Distinct
04:42
176
Spring Data JPA Query Method - Find by GreaterThan
05:49
177
Spring Data JPA Query Method - Find by LessThan
05:02
178
Spring Data JPA Query Method - Find by Containing
05:12
179
Spring Data JPA Query Method - Find by Like
05:44
180
Spring Data JPA Query Method - Find by Between (Price Range Example)
06:17
181
Spring Data JPA Query Method - Find by Between (Date Range Example)
08:49
182
Spring Data JPA Query Method - Find by In
05:28
183
Spring Data JPA Query Method - Limiting Query Results
07:03
184
What is Spring MVC?
03:33
185
What is DispatcherServlet?
03:23
186
Spring MVC Components
08:31
187
How Spring MVC Works Internally
03:18
188
Spring Boot Web MVC Architecture (Three - Layer Architecture)
01:48
189
What is Thymeleaf?
04:05
190
How Thymeleaf Engine Works?
02:34
191
Create Spring Boot Project and Integrate Thymeleaf
05:34
192
Spring Boot Auto Configuration for Thymeleaf
03:48
193
Thymeleaf Hello World Example
08:02
194
Thymeleaf Variable Expressions
12:03
195
Thymeleaf Selection Expressions
08:20
196
Thymeleaf Message Expressions
06:58
197
Thymeleaf Link (URL) Expressions
10:21
198
Thymeleaf Fragment Expressions
11:45
199
Thymeleaf Basic Attribute - th:text
02:55
200
Thymeleaf Loop or Iteration - th:each
11:49
201
Thymeleaf Looping or Iteration - th:each Attribute Status Variable
05:21
202
Thymeleaf Attribute - th:if and th:unless
09:56
203
Thymeleaf Attribute - th:switch and th:case
08:37
204
Form Handling in Thymeleaf Overview
03:49
205
Form Handling in Thymeleaf - Create Handler Method to Return Register Page
06:35
206
Form Handling in Thymeleaf Template - Design User Registration Form
15:48
207
Form Handling in Thymeleaf Template - Display User Registration Form Data
08:37
208
Create and Setup Spring Boot Project in IntelliJ
06:22
209
Understanding spring-boot-starter-thymeleaf Dependency
04:46
210
Configure MySQL Database in Spring Boot App
06:42
211
Create Student JPA Entity
06:23
212
Create StudentRepository Interface
06:45
213
Create StudentDto and StudentMapper
05:49
214
List Students Feature Backend
10:09
215
List Students Feature Frontend
15:43
216
Create Student Feature - Create Handler Method for Student Form
04:15
217
Create Student Feature - Create Student Form Handling
12:07
218
Create Student Feature - Create Handler Method for Save Student
07:48
219
Create Student Feature - Create Student Form Validation
10:34
220
Update Student Feature Backend
08:37
221
Update Student Feature Frontend
11:44
222
Delete Student Feature Implementation
07:14
223
View Student Feature Backend
05:23
224
View Student Feature Frontend
08:23
225
Create and Setup Spring Boot Project in IntelliJ
05:42
226
Understanding spring-boot-starter-thymeleaf Dependency
04:46
227
Configure MySQL Database in Spring Boot App
04:46
228
Create User and Role Entities (Many to Many Mapping)
14:52
229
Create UserRepository and RoleRepository
05:05
230
Create Thymeleaf Template for Home Page
07:32
231
Create Handler Method to Handle Registration Form Request
05:20
232
User Registration Form Handling
14:47
233
Create Handler Method to Save User Registered Data
13:34
234
Adding Validation to User Registration Form
12:27
235
Display List Registered Users - Backend
06:05
236
Display List Registered Users - Frontend
08:18
237
Add Spring Security & Use Spring Security’s Default Login and Logout Features
09:19
238
Create Custom Login Form and Configure Spring Security
16:28
239
Logout Feature Implementation
06:18
240
Configure URL’s in Spring Security
04:35
241
Database Authentication Implementation
12:57
242
Introduction to Reactive Programming
09:23
243
Reactive Stream Specifications
04:31
244
Reactive Stream Workflow
04:03
245
Understanding Project Reactor Mono and Flux
13:08
246
Spring WebFlux Overview
04:02
247
Spring Boot WebFlux Application Architecture
02:26
248
Deploy MongoDB in Docker Container
06:04
249
Create and Set up Spring Boot Project in IntelliJ IDE
06:38
250
Create Employee Entity
04:48
251
Create EmployeeRepository and Understanding Internals
05:14
252
Create EmployeeDto and EmployeeMapper
04:04
253
Build Reactive Add Employee REST API
13:55
254
Build Reactive Get Employee REST API
06:35
255
Build Reactive Get All Employees REST API
05:52
256
Build Reactive Update Employee REST API
09:30
257
Build Reactive Delete Employee REST API
05:57
258
Write a Integration Test for Add Employee REST API
11:05
259
Write a Integration Test for Get Employee REST API
06:49
260
Write a Integration Test for Get All Employees REST API
06:14
261
Refactor the Code to Use @BeforeEach Annotation
04:03
262
Write a Integration Test for Update Employee REST API
07:30
263
Write a Integration Test for Delete Employee REST API
03:43
264
General Docker Workflow
03:34
265
Create Spring Boot Project and Build Simple REST API
05:27
266
Create Dockerfile to Build Docker Image
06:14
267
Build Docker Image from Dockerfile
06:09
268
Run Docker Image in a Docker Container
07:23
269
Push Docker Image to DockerHub
07:47
270
Pulll Docker Image from DockerHub
07:55
271
Dockerizing Spring Boot MySQL Application Overview
01:23
272
Pull and Run MySQL Image in a Docker Container
07:42
273
Create a Dockerfile to Build the Image
06:12
274
Implement Profile and Build Docker image
08:23
275
Run Spring Boot App Docker Image in a Container and Test CRUD REST APIs
08:10
276
Docker Compose Overview
04:02
277
Configure and Run MySQL Image in a Container using Docker Compose
08:27
278
Configure and Run Spring Boot in a Container using Docker Compose
05:35
279
@Component Annotation
09:07
280
@Autowired Annotation
05:06
281
@Qualifier Annotation
05:29
282
@Primary Annotation
03:25
283
@Bean and @Configuration Annotations
12:57
284
@Controller, @Service and @Repository
09:03
285
@Lazy Annotation
06:21
286
@Scope Annotation
10:40
287
@Value Annotation
09:48
288
@PropertySource and PropertySources Annotations
14:22
289
@ConfigurationProperties Annotation
16:33
290
@Controller and @ResponseBody Annotations
09:48
291
@RestController Annotation
04:53
292
@RequestMapping Annotation
08:35
293
@GetMapping Annotation
04:53
294
@PostMapping and @RequestBody Annotations
10:27
295
@PutMapping Annotation
07:32
296
@DeleteMapping Annotation
05:06
297
@PathVariable Annotation
09:29
298
@RequestParam Annotation
07:29

Unlock unlimited learning

Get instant access to all 297 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Spring Professional Certification Exam Tutorial - Module 08

Spring Professional Certification Exam Tutorial - Module 08

Sources: udemy
Spring Professional Exam Tutorial explains and answers all questions from Spring Professional Certification Study Guide. Each answer to exam topic is explained
1 hour 54 minutes 51 seconds
Event-Driven Microservices, CQRS, SAGA, Axon, Spring Boot

Event-Driven Microservices, CQRS, SAGA, Axon, Spring Boot

Sources: udemy
In this video course, you will learn how to build business logic that spans several distributed Spring Boot Microservices. This course is designed for beginners and we will sta...
8 hours 55 minutes 3 seconds
The Ultimate Spring Integration Developer Course

The Ultimate Spring Integration Developer Course

Sources: udemy
Welcome to this course: The Ultimate Spring Integration Developer Course. Spring Integration is an open source framework for enterprise application integration. It is a lightwei...
7 hours 31 minutes 1 second
Learn Spring 5 and Spring Boot 2

Learn Spring 5 and Spring Boot 2

Sources: baeldung
Spring is, by far, the most popular framework for application development in the Java ecosystem. By a wide margin. The reason is actually quite simple - it does a lot of things ...
4 hours 57 minutes 32 seconds
Full Stack HATEOAS: Spring Boot 2.1, ReactJS, Redux

Full Stack HATEOAS: Spring Boot 2.1, ReactJS, Redux

Sources: udemy
Full Stack introduction to HATEOAS. In this course, you will learn the core concepts of HATEOAS as well as how to leverage this on a ReactJS Application. HATEOAS stands for: Hyp...
5 hours 51 minutes 37 seconds