Mô tả

'Master Spring framework, Spring Boot, REST, JPA, Hibernate' course will help in understanding about Spring framework and how to build web applications, Rest Services using Spring, Spring MVC, SpringBoot, Thymeleaf, Spring JDBC, Spring Data JPA etc. By the end of this course, students will understand all the below topics,


  1. What is Spring framework ?

  2. Spring Vs Java EE

  3. Evolution of Spring and release timeline of Spring

  4. Different projects inside Spring

  5. Spring Core Concepts like Inversion of Control (IoC), Dependency Injection (DI) & Aspect-Oriented Programming (AOP)

  6. Different approaches of Beans creation inside Spring framework

  7. Bean Scopes inside Spring framework

  8. Autowiring of the Spring Beans

  9. Lombok library and Annotations

  10. Introduction to MVC pattern & overview of web apps

  11. Spring MVC internal architecture & how to create web applications using Spring MVC & Thymeleaf

  12. Spring MVC Validations

  13. How to build dynamic web apps using Thymeleaf & Spring

  14. Thymeleaf integration with Spring, Spring MVC, Spring Security

  15. Deep dive on Spring Boot, Auto-configuration

  16. Spring Boot Dev Tools

  17. Spring Boot H2 Database

  18. Securing web applications using Spring Security

  19. Authentication , Authorization, Role based access

  20. Cross-Site Request Forgery (CSRF) & Cross-Origin Resource Sharing (CORS)

  21. Database create, read, update, delete operations using Spring JDBC

  22. Introduction to ORM frameworks & database create, read, update, delete operations using Spring Data JPA/Hibernate

  23. Derived Query methods in JPA

  24. OneToOne, OneToMany, ManyToOne, ManyToMany mappings inside JPA/Hibernate

  25. Sorting, Pagination, JPQL inside Spring Data JPA

  26. Building Rest Services inside Spring

  27. Consuming Rest Services using OpenFeign, Web Client, RestTemplate

  28. Spring Data Rest & HAL Explorer

  29. Logging inside Spring applications

  30. Properties Configuration inside Spring applications

  31. Profiles inside Spring Boot applications

  32. Conditional Bean creation using Profiles

  33. Monitoring Spring Boot applications using SpringBoot Actuator & Spring Boot Admin

  34. Deploying SpringBoot App into cloud using AWS Elastic Beanstalk


The pre-requisite for the course is knowledge of Java, basic exposure on HTML, CSS & interest to learn.

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

What is Spring & different projects inside Spring ecosystem

Spring Core Concepts like Inversion of Control (IoC), Dependency Injection (DI) & Aspect-Oriented Programming (AOP)

How to build web applications using Spring MVC

How to build web applications using Spring Boot

Securing Web applications using Spring Security

Database operations using Spring JDBC, Spring Data JPA, Hibernate

Building & Consuming REST services using SpringBoot

Spring Data Rest, Spring Boot Actuator

Logging and properties configuration inside Spring Boot applications

Spring Boot profiles

Yêu cầu

  • Java
  • Basic knowledge around HTML, CSS

Nội dung khoá học

34 sections

Introduction to Spring Framework

11 lectures
Introduction to the course & Agenda of the course
14:35
Details of Source Code, PDF Content & other instructions for the course
10:09
What is Spring ?
08:15
Jakarta EE Vs Spring
12:04
Introduction to Spring Core
02:22
Introduction to Inversion of Control (IoC) & Dependency Injection (DI)
03:51
Demo of Inversion of Control (IoC) & Dependency Injection (DI)
11:14
Advantages of Inversion of Control & Dependency Injection
07:02
Introductions to Beans, Context and SpEL
06:08
Introduction to Spring IoC Container
06:41
"Introduction to Spring Framework" Quiz
7 questions

Creating Beans inside Spring Context

17 lectures
Installation of Maven
09:04
Creating Maven Project
17:04
Creating Beans using @Bean annotation
15:49
Understanding NoUniqueBeanDefinitionException in Spring
08:08
Providing a custom name to the bean
04:40
Understanding @Primary Annotation inside Spring
05:56
Creating Beans using @Component annotation
08:33
Stereotype Annotations in Spring
05:55
Comparison between @Bean Vs @Component
05:34
Understanding @PostConstruct Annotation
06:04
Understanding @PreDestroy Annotation
05:03
Creating Beans programmatically using registerBean()
10:02
Creating Beans using XML Configurations
07:32
Why should we use frameworks
11:45
Introduction to Spring Projects - Part 1
09:14
Introduction to Spring Projects - Part 2
06:16
Quiz related to "Creating Beans inside Spring Context"
10 questions

Wiring Beans using @Autowiring

12 lectures
Introduction to wiring & auto-wiring inside Spring
07:53
Wiring Beans using method call
09:52
Wiring Beans using method parameters
03:36
Wiring Beans using @Autowired on class fields
09:05
Wiring Beans using @Autowired on setter method
04:48
Wiring Beans using @Autowired on constructor
05:42
Deep dive of Autowiring inside Spring - Theory
07:33
Deep dive of Autowiring inside Spring - Coding example
05:55
Understanding and Avoiding Circular dependencies
04:54
Problem Statement for Assignment related to Beans, Autowiring and DI
04:42
Solution for Assignment related to Beans, Autowiring and DI
15:33
"Wiring Beans using @Autowiring" Quiz
5 questions

Beans scope inside Spring framework

10 lectures
Introduction to Bean Scopes inside Spring
03:23
Deepdive on Singleton Bean scope
07:02
What is a Race Condition
03:37
Usecases of Singleton Bean scope
04:45
Deepdive of Eager and Lazy instantiation of Singleton scope
05:56
Demo of Eager and Lazy instantiation of Singleton bean
04:27
Eager Initialization Vs Lazy Initialization
03:56
Deepdive of Prototype Bean scope
05:42
Singleton Beans Vs Prototype Beans
04:10
"Beans scope inside Spring framework" Quiz
4 questions

Aspect Oriented Programming (AOP) inside Spring framework

13 lectures
Introduction to Aspect Oriented Programming (AOP)
05:44
Understanding the problems inside web applications with out AOP
07:12
Understanding & Running the Application with out AOP
07:12
AOP Jargons
05:15
Weaving inside AOP
03:13
Type of Advices inside AOP
04:14
Configuring Advices inside AOP - Theory
11:32
Configuring @Around advice
10:55
Configuring @Before advice
07:29
Configuring @AfterThrowing and @AfterReturning advices
07:22
Configuring Advices inside AOP with Annotations approach
03:14
Demo of Configuring Advices inside AOP with Annotations approach
05:42
"Aspect Oriented Programming (AOP) inside Spring framework" Quiz
5 questions

Building Web Applications using Spring Boot and Spring MVC

13 lectures
Quick Introduction about Web Applications
07:37
Role of Servlets inside Web Applications
06:45
Evolution of Web Apps inside Java ecosystem
04:15
Types of Web Apps we can build with Spring
06:34
Introduction to Spring Boot - The Hero of Spring framework
10:40
Spring Boot Important features
11:02
Creating simple web application using Spring Boot
14:23
Running simple web application using Spring Boot
13:56
Changing the default server port & context path of SpringBoot Web application
05:30
Random server port number inside SpringBoot
04:08
Demo of Spring Boot Autoconfiguration
11:41
Quick recap
05:07
"Building Web Applications using Spring Boot and Spring MVC" Quiz
5 questions

Adapting Thymeleaf for building dynamic content inside Spring MVC Web Apps

19 lectures
Quick Tip - Mapping multiple paths inside Spring Web Application
13:11
Introduction to Thymeleaf
08:38
Building dynamic content using Thymeleaf
09:58
Disabling Thymeleaf template caching
07:03
Introduction to Spring Boot DevTools
07:37
Implemetation & Demo of Spring Boot DevTools
07:38
Building Home Page of EazySchool Web Application
07:23
Understanding the Home Page source code of EazySchool
05:55
Deep Dive of Spring MVC Internal architecture
12:27
Separation of Header and Footer code using Thymeleaf replace tag
08:14
Building Courses Web Page of Eazy School Web Application
12:07
Quick Tip - Resolving Build & Cache issues inside maven projects
02:11
Building About Page of Eazy School Web Application
06:47
Building Contact Page of Eazy School Web Application
05:25
Submit information from Contact page using @RequestParam
10:53
Submit information from Contact page using POJO object
08:30
Define actions for all the links in the Home & Footer page
06:18
Building Holidays Page of Eazy School Web Application
12:35
"Thymeleaf for building dynamic content inside Spring MVC Web Apps" Quiz
4 questions

Deep dive of Lombok library

4 lectures
Introduction to Lombok library
06:59
Implementing Lombok inside Eazy School Web App
06:37
Demo of @Slf4j annotation from Lombok library
03:55
"Lombok library" Quiz
3 questions

Processing Query Params & Path Variables inside Spring

5 lectures
Accepting Query Params using @RequestParam annotation - Theory
08:46
Accepting Query Params using @RequestParam annotation - Coding
12:04
Accepting Path Params using @PathVariable annotation - Theory
05:22
Accepting Path Params using @PathVariable annotation - Coding
07:17
"Processing Query Params & Path Variables inside Spring" Quiz
3 questions

Validating the input using Java Bean & Hibernate Validators

6 lectures
Importance of Validations inside Web Applications
11:59
Introduction to Java Bean Validations
10:09
Adding Bean Validation annotations inside Contact POJO class
10:13
Adding Bean Validation related changes inside EazySchool Web Application
12:16
Demo of Bean Validations inside Contact form Page
06:48
"Validating the input using Java Bean & Hibernate Validators" Quiz
3 questions

Beans Web scopes inside Spring framework

6 lectures
Introduction to Spring Web Scopes
07:00
Use Cases of Spring Web Scopes
09:26
Demo of @RequestScope inside Eazy School Web Application
06:31
Demo of @SessionScope inside Eazy School Web Application
06:28
Demo of @ApplicationScope inside Eazy School Web Application
05:47
"Beans Web scopes inside Spring framework" Quiz
3 questions

Implement security inside Web App - Spring Security Part 1

16 lectures
Introduction to Spring Security
07:16
Deepdive of Authentication Vs Authorization
05:47
Demo of Spring Security inside Eazy School Web App with default behavior
06:27
Configure custom credentials inside Spring Security
04:28
IMPORTANT NOTE about Spring Security
01:14
Understanding default security configurations inside Spring Security framework
05:53
Configure permitAll() inside Web App using Spring Security
07:14
Configure denyAll() inside Web App using Spring Security
05:47
Configure custom security configurations using Spring Security
10:57
Demo of CSRF protection & CSRF Disable inside Spring Security framework
09:33
Configure multiple users using inMemoryAuthentication() of Spring Security
09:26
Implement Login & Logout inside Web App - Part 1
07:10
Implement Login & Logout inside Web App - Part 2
09:50
Implement Login & Logout inside Web App - Part 3
05:15
Demo of integration between ThymeLeaf & Spring Security
10:36
"Implement security inside Web App using Spring Security" Quiz
5 questions

Exception Handling using @ControllerAdvice & @ExceptionHandler

3 lectures
Introduction to @ControllerAdvice & @ExceptionHandler annotations
08:59
Demo of @ControllerAdvice & @ExceptionHandler annotations
10:42
"Exception Handling using @ControllerAdvice & @ExceptionHandler" Quiz
3 questions

Implement CSRF fix inside Web App - Spring Security Part 2

4 lectures
Deep dive of CSRF attack
12:13
Solution for CSRF attack - Theory
10:20
Solution for CSRF attack - Coding
11:25
"Implement CSRF fix inside Web App - Spring Security" Quiz
4 questions

Deep dive on Spring Boot H2 Database & Spring JDBC framework

13 lectures
Introduction to in-memory H2 Database of Spring Boot
08:37
IMPORTANT NOTE about Spring Security Configurations when using H2 DB
01:16
Setup H2 Database inside a Spring Boot web application
16:36
Introduction to JDBC & problems with it
09:41
Introduction to Spring JDBC
10:39
Deep dive on usage of JdbcTemplate
08:00
Saving Contact Message into DB using JdbcTemplate Insert operation
14:25
Display Contact messages from DB using JdbcTemplate select operation - Part 1
06:51
Display Contact messages from DB using JdbcTemplate select operation - Part 2
15:40
Update Contact messages status using JdbcTemplate update operation
09:40
Implementing AOP inside Eazy School Web Application
08:22
Display list of Holidays from H2 Database using JdbcTemplate
16:28
"Spring Boot H2 Database & Spring JDBC framework" Quiz
6 questions

Setup MySQL DB in AWS & migrating from H2 DB

5 lectures
Setup MYSQL DB inside AWS - Part 1
08:27
Setup MYSQL DB inside AWS - Part 2
09:40
Migrate from H2 Database to MYSQL Database
09:08
Demo of MYSQL Database changes inside Eazy School Web App
09:38
"Setup MySQL DB in AWS & migrating from H2 DB" Quiz
2 questions

Introduction to Spring Data & Spring Data JPA

10 lectures
Problems with Spring JDBC & how ORM frameworks solve these problems
06:07
Introduction to Spring Data
06:45
Deepdive on Repository,CrudRepository,PagingAndSortingRepository,JpaRepository
16:49
Introduction to Spring Data JPA
12:25
Migrate from Spring JDBC to Spring Data JPA - Part 1
11:06
Migrate from Spring JDBC to Spring Data JPA - Part 2
13:11
Migrate from Spring JDBC to Spring Data JPA - Part 3
08:27
Migrate from Spring JDBC to Spring Data JPA - Part 4
09:49
Deep dive on derived query methods inside Spring Data JPA
09:19
"Introduction to Spring Data & Spring Data JPA" Quiz
10 questions

Auditing support by Spring Data JPA inside Web Applications

4 lectures
Introduction of Auditing Support by Spring Data JPA
12:49
Implement automatic auditing support with Spring Data JPA - Part 1
09:43
Implement automatic auditing support with Spring Data JPA - Part 2
07:40
"Auditing support by Spring Data JPA inside Web Applications" Quiz
4 questions

Building Custom Validations inside Spring MVC

6 lectures
Building new user registration web page inside Eazy School Web App
13:40
Building Custom validations for new user registration page - Part 1
08:33
Building Custom validations for new user registration page - Part 2
13:54
Building Custom validations for new user registration page - Part 3
07:47
Building Custom validations for new user registration page - Part 4
16:12
"Building Custom Validations inside Spring MVC" Quiz
3 questions

Deep dive on OneToOne Relationship, Fetch Types, Cascade Types in ORM frameworks

7 lectures
Creating new tables required for new user registration process
10:36
Spring Data JPA configurations for Person, Address, Roles tables and entities
08:12
Introduction to One to One Relationship inside ORM frameworks
06:49
Making One to One Relationship configurations inside entity classes - Theory
08:00
Deep dive on Fetch Types and Cascade Types in ORM frameworks
10:03
Making One to One Relationship configurations inside entity classes - Coding
17:22
"OneToOne Relationship, Fetch Types, Cascade Types in ORM frameworks" Quiz
7 questions

Spring Security custom Authentication using DB & Password Hashing

10 lectures
Understanding Spring Security configurations for custom authentication logic
09:02
Implement Spring Security changes for custom authentication logic - Part 1
14:01
Implement Spring Security changes for custom authentication logic - Part 2
07:03
Problems with Authentication logic using plain text passwords
03:26
Deep dive on Encoding, Encryption and Hashing for password management
11:59
Deep dive on PasswordEncoder & BCryptPasswordEncoder
08:35
Implementing password hashing with BCryptPaswordEncoder - Part 1
14:16
Implementing password hashing with BCryptPaswordEncoder - Part 2
05:53
Quick Tip - To Disable the javax validations in Spring Data JPA
05:53
"Spring Security custom Authentication using DB & Password Hashing" Quiz
5 questions

Building Profile web page inside Eazy School Web App

5 lectures
Displaying Profile link inside Dashboard web page
06:03
Displaying Profile Web Page on click of profile link in Dashboard
12:28
Fetch data from DB and display on the Profile web page
14:43
Save Address Data into DB from Profile Page
09:23
"Building Profile web page inside Eazy School Web App" Quiz
2 questions

Deep dive on OneToMany, ManyToOne Relationships in ORM frameworks

9 lectures
Introduction to new enhancements related to OnetoMany, ManytoOne & ManytoMany
02:18
Displaying Classes, Courses link inside Dashboard web page
07:56
Introduction to OneToMany & ManyToOne mappings
10:38
Implement OneToMany & ManyToOne configurations inside Entity classes
09:06
Displaying new Web Page on click of classes link in Dashboard
07:02
Add & Delete Classes enhancement inside Eazy School Web App
13:21
Display, Add & Delete Students enhancement inside Eazy School Web App - Part 1
14:16
Display, Add & Delete Students enhancement inside Eazy School Web App - Part 2
08:47
"OneToMany, ManyToOne Relationships in ORM frameworks" Quiz
3 questions

Deep dive on ManyToMany Relationship & Configurations inside ORM frameworks

8 lectures
Introduction to ManyToMany relationship in ORM frameworks
12:53
Implement ManyToMany configurations inside Entity classes
11:00
Display & Add Courses enhancement inside Eazy School Web App - Part 1
08:34
Display & Add Courses enhancement inside Eazy School Web App - Part 2
10:45
Display & Add Students enhancement inside Course Web Page
11:20
Delete Student enhancement inside Course Web Page
06:02
Implement Student Dashboard related enhancements inside Eazy School Web App
14:42
"ManyToMany Relationship & Configurations inside ORM frameworks" Quiz
3 questions

Sorting & Pagination inside Spring Data JPA

7 lectures
Introduction to Sorting inside Spring Data JPA
06:55
Implement & Demo of Static Sorting
06:06
Implement & Demo of Dynamic Sorting
05:11
Introduction to Pagination inside Spring Data JPA
09:31
Implement & Demo of Pagination & Dynamic Sorting - Part 1
21:01
Implement & Demo of Pagination & Dynamic Sorting - Part 2
12:20
"Sorting & Pagination inside Spring Data JPA" Quiz
3 questions

Writing Custom Queries inside Spring Data JPA

6 lectures
Introduction to custom queries using @Query,@NamedQuery,@NamedNativeQuery & JPQL
13:55
Writing Custom Queries using @Query Annotation
08:29
Writing Custom Update Queries using @Query,@Modifying,@Transactional Annotations
12:10
Deep dive on @NamedQuery,@NamedNativeQuery inside Spring Data JPA
05:44
Writing Custom Queries using @NamedQuery,@NamedNativeQuery Annotations
15:16
"Writing Custom Queries inside Spring Data JPA" Quiz
5 questions

Building REST Services using Spring framework

14 lectures
Introduction to REST Services
06:53
Build REST services using Spring MVC style & @ResponseBody annotation - Theory
05:41
Implement REST service using Spring MVC style & @ResponseBody - Part 1
08:40
Implement REST service using Spring MVC style & @ResponseBody - Part 2
08:26
Deep dive & Demo of @RequestBody annotation
10:02
Implement REST Services using @RestController annotation
03:42
Demo of save operation using Rest Service & ResponseEntity
13:46
Demo of delete operation using Rest Service & RequestEntity
06:18
Demo of update operation using Rest Service & recap of all Rest annotations
08:15
Implement global error logic for Rest Services using @RestControllerAdvice
06:50
Deep dive on CROSS-ORIGIN RESOURCE SHARING (CORS) & @CrossOrigin annotation
07:08
Sending Response in XML format in Rest Services
05:02
Demo of Content filter inside Rest Services using @JsonIgnore annotation
04:52
"Building REST Services using Spring framework" Quiz
5 questions

Consuming Rest Services using Spring framework

6 lectures
Introduction to Consuming Rest Services inside Web Applications
09:54
Consuming Rest Services using OpenFeign - Theory
10:00
Consuming Rest Services using OpenFeign - Coding
11:36
Consuming Rest Services using RestTemplate
14:32
Consuming Rest Services using WebClient
15:12
"Consuming Rest Services using Spring framework" Quiz
4 questions

Deep dive on Spring Data Rest & HAL Explorer

7 lectures
Introduction to Spring Data Rest & HAL Explorer
07:08
Deep dive of Spring Data Rest & exploring Rest APIs - Part 1
10:48
Deep dive of Spring Data Rest & exploring Rest APIs - Part 2
12:19
Exploring Rest APIs of Spring Data Rest using HAL Explorer
08:57
Securing Spring Data Rest APIs & HAL Explorer
03:41
Quick Tips around Spring Data Rest
06:42
"Spring Data Rest & HAL Explorer" Quiz
4 questions

Logging Configurations inside Spring Boot

5 lectures
Introduction to Logging inside SpringBoot
09:55
Logging configurations for SpringBoot framework code
07:34
Logging configurations for Application code
09:03
Store log statements into a custom file and folder
12:00
"Logging Configurations inside SpringBoot" Quiz
5 questions

Properties Configuration & Profiles inside SpringBoot

10 lectures
Introduction to Externalized properties inside Spring Boot Web Applications
06:38
Reading properties using @Value annotation
07:17
Reading properties using Environment interface
04:51
Reading properties using @ConfigurationProperties - Theory
10:39
Reading properties using @ConfigurationProperties - Coding
10:33
Introduction to Profiles in Spring
04:30
Implementation & Demo of Profiles inside Eazy School Web App
08:33
Various approaches to activate Profiles inside Spring
14:06
Creating beans conditionally based on active profile
06:26
"Properties Configuration & Profiles inside Spring Boot" Quiz
5 questions

Deep Dive on Spring Boot Actuator & Spring Boot Admin

5 lectures
Introduction to Spring Boot Actuator
03:55
Implement and Secure Actuator inside Eazy School Web App
06:38
Deepdive of Actuator endpoints
17:19
Exploring Actuator data using Spring Boot Admin
15:12
"Spring Boot Actuator & Spring Boot Admin" Quiz
2 questions

Deploying SpringBoot App into AWS Cloud

5 lectures
Introduction to Cloud Deployment, AWS EC2 & AWS Elastic Beanstalk
09:30
Packaging Spring Boot application for AWS Deployment
07:03
Deploying Spring Boot app into AWS Elastic Beanstalk
17:23
Switching DB inside AWS Elastic Beanstalk
08:26
Deleting AWS Beanstalk & DB resources
03:05

Thank You & Congratulations

1 lectures
Thank You & Congratulations
02:31

Đá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.