Skip to main content

Master Spring 6 Spring Boot 3 REST JPA Hibernate

36h 15m 18s
English
Free

Course description

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

Read more about the course
  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. Introduction to MVC pattern & overview of web apps
  10. Spring MVC internal architecture & how to create web applications using Spring MVC & Thymeleaf
  11. Spring MVC Validations
  12. How to build dynamic web apps using Thymeleaf & Spring
  13. Thymeleaf integration with Spring, Spring MVC, Spring Security
  14. Deep dive on Spring Boot, Auto-configuration
  15. Spring Boot Dev Tools
  16. Spring Boot H2 Database
  17. Securing web applications using Spring Security
  18. Authentication , Authorization, Role based access
  19. Cross-Site Request Forgery (CSRF) & Cross-Origin Resource Sharing (CORS)
  20. Database create, read, update, delete operations using Spring JDBC
  21. Introduction to ORM frameworks & database create, read, update, delete operations using Spring Data JPA/Hibernate
  22. Derived Query methods in JPA
  23. OneToOne, OneToMany, ManyToOne, ManyToMany mappings inside JPA/Hibernate
  24. Sorting, Pagination, JPQL inside Spring Data JPA
  25. Building Rest Services inside Spring
  26. Consuming Rest Services using OpenFeign, Web Client, RestTemplate
  27. Spring Data Rest & HAL Explorer
  28. Logging inside Spring applications
  29. Properties Configuration inside Spring applications
  30. Profiles inside Spring Boot applications
  31. Conditional Bean creation using Profiles
  32. Monitoring Spring Boot applications using SpringBoot Actuator & Spring Boot Admin

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

Watch Online

0:00 0:00
#Lesson TitleDuration
1Introduction to the course & Agenda of the course14:36
2Details of Source Code, PDF Content & other instructions for the course10:10
3What is Spring ?08:16
4Jakarta EE Vs Spring12:06
5Introduction to Spring Core02:23
6Introduction to Inversion of Control (IoC) & Dependency Injection (DI)03:52
7Demo of Inversion of Control (IoC) & Dependency Injection (DI)11:15
8Advantages of Inversion of Control & Dependency Injection07:03
9Introductions to Beans, Context and SpEL06:09
10Introduction to Spring IoC Container06:42
11Installation of Maven09:06
12Creating Maven Project17:05
13Creating Beans using @Bean annotation15:50
14Understanding NoUniqueBeanDefinitionException in Spring08:09
15Providing a custom name to the bean04:41
16Understanding @Primary Annotation inside Spring05:57
17Creating Beans using @Component annotation08:34
18Stereotype Annotations in Spring05:56
19Comparison between @Bean Vs @Component05:35
20Understanding @PostConstruct Annotation06:05
21Understanding @PreDestroy Annotation05:04
22Creating Beans programmatically using registerBean()10:04
23Creating Beans using XML Configurations07:33
24Why should we use frameworks11:46
25Introduction to Spring Projects - Part 109:16
26Introduction to Spring Projects - Part 206:17
27Introduction to wiring & auto-wiring inside Spring07:54
28Wiring Beans using method call09:53
29Wiring Beans using method parameters03:37
30Wiring Beans using @Autowired on class fields09:06
31Wiring Beans using @Autowired on setter method04:49
32Wiring Beans using @Autowired on constructor05:43
33Deep dive of Autowiring inside Spring - Theory07:34
34Deep dive of Autowiring inside Spring - Coding example05:57
35Understanding and Avoiding Circular dependencies04:55
36Problem Statement for Assignment related to Beans, Autowiring and DI04:43
37Solution for Assignment related to Beans, Autowiring and DI15:34
38Introduction to Bean Scopes inside Spring03:24
39Deepdive on Singleton Bean scope07:03
40What is a Race Condition03:38
41Usecases of Singleton Bean scope04:46
42Deepdive of Eager and Lazy instantiation of Singleton scope05:57
43Demo of Eager and Lazy instantiation of Singleton bean04:29
44Eager Initialization Vs Lazy Initialization03:57
45Deepdive of Prototype Bean scope05:43
46Singleton Beans Vs Prototype Beans04:11
47Introduction to Aspect Oriented Programming (AOP)05:45
48Understanding the problems inside web applications with out AOP07:13
49Understanding & Running the Application with out AOP07:13
50AOP Jargons05:16
51Weaving inside AOP03:14
52Type of Advices inside AOP04:15
53Configuring Advices inside AOP - Theory11:33
54Configuring @Around advice10:56
55Configuring @Before advice07:30
56Configuring @AfterThrowing and @AfterReturning advices07:24
57Configuring Advices inside AOP with Annotations approach03:15
58Demo of Configuring Advices inside AOP with Annotations approach05:43
59Quick Introduction about Web Applications07:38
60Role of Servlets inside Web Applications06:46
61Evolution of Web Apps inside Java ecosystem04:16
62Types of Web Apps we can build with Spring06:35
63Introduction to Spring Boot - The Hero of Spring framework10:42
64Spring Boot Important features11:03
65Creating simple web application using Spring Boot14:24
66Running simple web application using Spring Boot13:57
67Changing the default server port & context path of SpringBoot Web application05:31
68Random server port number inside SpringBoot04:09
69Demo of SpringBoot Autoconfiguration11:42
70Quick recap05:08
71Quick Tip - Mapping multiple paths inside Spring Web Application13:12
72Introduction to Thymeleaf08:39
73Building dynamic content using Thymeleaf09:59
74Disabling Thymeleaf template caching07:04
75Introduction to Spring Boot DevTools07:38
76Implemetation & Demo of Spring Boot DevTools07:39
77Building Home Page of EazySchool Web Application07:24
78Understanding the Home Page source code of EazySchool05:56
79Deep Dive of Spring MVC Internal architecture12:28
80Separation of Header and Footer code using Thymeleaf replace tag08:15
81Building Courses Web Page of Eazy School Web Application12:08
82Quick Tip - Resolving Build & Cache issues inside maven projects02:13
83Building About Page of Eazy School Web Application06:48
84Building Contact Page of Eazy School Web Application05:26
85Submit information from Contact page using @RequestParam10:54
86Submit information from Contact page using POJO object08:31
87Define actions for all the links in the Home & Footer page06:19
88Building Holidays Page of Eazy School Web Application12:36
89Introduction to Lombok library07:00
90Implementing Lombok inside Eazy School Web App06:39
91Demo of @Slf4j annotation from Lombok library03:57
92Accepting Query Params using @RequestParam annotation - Theory08:47
93Accepting Query Params using @RequestParam annotation - Coding12:05
94Accepting Path Params using @PathVariable annotation - Theory05:23
95Accepting Path Params using @PathVariable annotation - Coding07:19
96Importance of Validations inside Web Applications12:00
97Introduction to Java Bean Validations10:10
98Adding Bean Validation annotations inside Contact POJO class10:14
99Adding Bean Validation related changes inside EazySchool Web Application12:17
100Demo of Bean Validations inside Contact form Page06:49
101Introduction to Spring Web Scopes07:02
102Use Cases of Spring Web Scopes09:27
103Demo of @RequestScope inside Eazy School Web Application06:32
104Demo of @SessionScope inside Eazy School Web Application06:29
105Demo of @ApplicationScope inside Eazy School Web Application05:48
106Introduction to Spring Security07:17
107Deepdive of Authentication Vs Authorization05:48
108Demo of Spring Security inside Eazy School Web App with default behavior06:28
109Configure custom credentials inside Spring Security04:29
110Understanding default security configurations inside Spring Security framework05:55
111Configure permitAll() inside Web App using Spring Security07:15
112Configure denyAll() inside Web App using Spring Security05:48
113Configure custom security configurations using Spring Security10:58
114Demo of CSRF protection & CSRF Disable inside Spring Security framework09:34
115Configure multiple users using inMemoryAuthentication() of Spring Security09:27
116Implement Login & Logout inside Web App - Part 107:11
117Implement Login & Logout inside Web App - Part 209:51
118Implement Login & Logout inside Web App - Part 305:16
119Demo of integration between ThymeLeaf & Spring Security10:37
120Introduction to @ControllerAdvice & @ExceptionHandler annotations09:00
121Demo of @ControllerAdvice & @ExceptionHandler annotations10:43
122Deep dive of CSRF attack12:14
123Solution for CSRF attack - Theory10:22
124Solution for CSRF attack - Coding11:26
125Introduction to in-memory H2 Database of Spring Boot08:38
126Setup H2 Database inside a Spring Boot web application16:37
127Introduction to JDBC & problems with it09:42
128Introduction to Spring JDBC10:40
129Deep dive on usage of JdbcTemplate08:01
130Saving Contact Message into DB using JdbcTemplate Insert operation14:26
131Display Contact messages from DB using JdbcTemplate select operation - Part 106:52
132Display Contact messages from DB using JdbcTemplate select operation - Part 215:41
133Update Contact messages status using JdbcTemplate update operation09:41
134Implementing AOP inside Eazy School Web Application08:23
135Display list of Holidays from H2 Database using JdbcTemplate16:29
136Setup MYSQL DB inside AWS - Part 108:28
137Setup MYSQL DB inside AWS - Part 209:41
138Migrate from H2 Database to MYSQL Database09:09
139Demo of MYSQL Database changes inside Eazy School Web App09:39
140Problems with Spring JDBC & how ORM frameworks solve these problems06:08
141Introduction to Spring Data06:46
142Deepdive on Repository,CrudRepository,PagingAndSortingRepository,JpaRepository16:50
143Introduction to Spring Data JPA12:26
144Migrate from Spring JDBC to Spring Data JPA - Part 111:07
145Migrate from Spring JDBC to Spring Data JPA - Part 213:12
146Migrate from Spring JDBC to Spring Data JPA - Part 308:28
147Migrate from Spring JDBC to Spring Data JPA - Part 409:50
148Deep dive on derived query methods inside Spring Data JPA09:20
149Introduction of Auditing Support by Spring Data JPA12:50
150Implement automatic auditing support with Spring Data JPA - Part 109:44
151Implement automatic auditing support with Spring Data JPA - Part 207:41
152Building new user registration web page inside Eazy School Web App13:41
153Building Custom validations for new user registration page - Part 108:34
154Building Custom validations for new user registration page - Part 213:55
155Building Custom validations for new user registration page - Part 307:48
156Building Custom validations for new user registration page - Part 416:13
157Creating new tables required for new user registration process10:37
158Spring Data JPA configurations for Person, Address, Roles tables and entities08:13
159Introduction to One to One Relationship inside ORM frameworks06:50
160Making One to One Relationship configurations inside entity classes - Theory08:01
161Deep dive on Fetch Types and Cascade Types in ORM frameworks10:04
162Making One to One Relationship configurations inside entity classes - Coding17:23
163Understanding Spring Security configurations for custom authentication logic09:03
164Implement Spring Security changes for custom authentication logic - Part 114:02
165Implement Spring Security changes for custom authentication logic - Part 207:05
166Problems with Authentication logic using plain text passwords03:27
167Deep dive on Encoding, Encryption and Hashing for password management12:00
168Deep dive on PasswordEncoder & BCryptPasswordEncoder08:37
169Implementing password hashing with BCryptPaswordEncoder - Part 114:17
170Implementing password hashing with BCryptPaswordEncoder - Part 205:54
171Quick Tip - To Disable the javax validations in Spring Data JPA05:54
172Displaying Profile link inside Dashboard web page06:04
173Displaying Profile Web Page on click of profile link in Dashboard12:29
174Fetch data from DB and display on the Profile web page14:44
175Save Address Data into DB from Profile Page09:24
176Introduction to new enhancements related to OnetoMany, ManytoOne & ManytoMany02:19
177Displaying Classes, Courses link inside Dashboard web page07:57
178Introduction to OneToMany & ManyToOne mappings10:40
179Implement OneToMany & ManyToOne configurations inside Entity classes09:07
180Displaying new Web Page on click of classes link in Dashboard07:03
181Add & Delete Classes enhancement inside Eazy School Web App13:22
182Display, Add & Delete Students enhancement inside Eazy School Web App - Part 114:17
183Display, Add & Delete Students enhancement inside Eazy School Web App - Part 208:48
184Introduction to ManyToMany relationship in ORM frameworks12:54
185Implement ManyToMany configurations inside Entity classes11:01
186Display & Add Courses enhancement inside Eazy School Web App - Part 108:36
187Display & Add Courses enhancement inside Eazy School Web App - Part 210:46
188Display & Add Students enhancement inside Course Web Page11:21
189Delete Student enhancement inside Course Web Page06:03
190Implement Student Dashboard related enhancements inside Eazy School Web App14:43
191Introduction to Sorting inside Spring Data JPA06:57
192Implement & Demo of Static Sorting06:07
193Implement & Demo of Dynamic Sorting05:12
194Introduction to Pagination inside Spring Data JPA09:33
195Implement & Demo of Pagination & Dynamic Sorting - Part 121:03
196Implement & Demo of Pagination & Dynamic Sorting - Part 212:21
197Introduction to custom queries using @Query,@NamedQuery,@NamedNativeQuery & JPQL13:56
198Writing Custom Queries using @Query Annotation08:30
199Writing Custom Update Queries using @Query,@Modifying,@Transactional Annotations12:11
200Deep dive on @NamedQuery,@NamedNativeQuery inside Spring Data JPA05:46
201Writing Custom Queries using @NamedQuery,@NamedNativeQuery Annotations15:17
202Introduction to REST Services06:54
203Build REST services using Spring MVC style & @ResponseBody annotation - Theory05:42
204Implement REST service using Spring MVC style & @ResponseBody - Part 108:41
205Implement REST service using Spring MVC style & @ResponseBody - Part 208:27
206Deep dive & Demo of @RequestBody annotation10:03
207Implement REST Services using @RestController annotation03:43
208Demo of save operation using Rest Service & ResponseEntity13:47
209Demo of delete operation using Rest Service & RequestEntity06:19
210Demo of update operation using Rest Service & recap of all Rest annotations08:17
211Implement global error logic for Rest Services using @RestControllerAdvice06:51
212Deep dive on CROSS-ORIGIN RESOURCE SHARING (CORS) & @CrossOrigin annotation07:09
213Sending Response in XML format in Rest Services05:03
214Demo of Content filter inside Rest Services using @JsonIgnore annotation04:53
215Introduction to Consuming Rest Services inside Web Applications09:55
216Consuming Rest Services using OpenFeign - Theory10:01
217Consuming Rest Services using OpenFeign - Coding11:37
218Consuming Rest Services using RestTemplate14:33
219Consuming Rest Services using WebClient15:13
220Introduction to Spring Data Rest & HAL Explorer07:09
221Deep dive of Spring Data Rest & exploring Rest APIs - Part 110:49
222Deep dive of Spring Data Rest & exploring Rest APIs - Part 212:20
223Exploring Rest APIs of Spring Data Rest using HAL Explorer08:58
224Securing Spring Data Rest APIs & HAL Explorer03:43
225Quick Tips around Spring Data Rest06:43
226Introduction to Logging inside SpringBoot09:56
227Logging configurations for SpringBoot framework code07:35
228Logging configurations for Application code09:04
229Store log statements into a custom file and folder12:01
230Introduction to Externalized properties inside SpringBoot Web Applications06:39
231Reading properties using @Value annotation07:18
232Reading properties using Environment interface04:52
233Reading properties using @ConfigurationProperties - Theory10:40
234Reading properties using @ConfigurationProperties - Coding10:34
235Introduction to Profiles in Spring04:31
236Implementation & Demo of Profiles inside Eazy School Web App08:34
237Various approaches to activate Profiles inside Spring14:07
238Creating beans conditionally based on active profile06:27
239Introduction to Spring Boot Actuator03:56
240Implement and Secure Actuator inside Eazy School Web App06:39
241Deepdive of Actuator endpoints17:20
242Exploring Actuator data using Spring Boot Admin15:13
243Introduction to Cloud Deployment, AWS EC2 & AWS Elastic Beanstalk09:31
244Packaging Spring Boot application for AWS Deployment07:04
245Deploying Spring Boot app into AWS Elastic Beanstalk11:27
246Switching DB inside AWS Elastic Beanstalk08:27
247Deleting AWS Beanstalk & DB resources03:06
248Thank You & Congratulations02:32

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Data Structures & Algorithms: Part 1

Data Structures & Algorithms: Part 1

Sources: codewithmosh (Mosh Hamedani)
Studied Computer Science - but never really understood the complex topic of data structures and algorithms? Or maybe you’re a self-taught programmer, with little to no knowledge...
4 hours 39 minutes 17 seconds
Java Streams API

Java Streams API

Sources: Amigoscode (Nelson Djalo)
Functional programming is becoming very popular and it focuses around pure functions. Functional applications avoid the shared state, and tend to be more concis
2 hours 33 minutes 12 seconds
Java Spring Tutorial Masterclass - Learn Spring Framework 5

Java Spring Tutorial Masterclass - Learn Spring Framework 5

Sources: udemy
There is no doubt that having Spring Framework skills on your résumé will make you a more employable Java developer. Spring developers are in high demand and are paid handsomely...
45 hours 18 minutes 33 seconds
Java Generics

Java Generics

Sources: Amigoscode (Nelson Djalo)
As a Java software engineer is important to know how to write generic algorithms to write clean and re usable api's. Java Generics has been introduce remove unn
1 hour 8 minutes 39 seconds
Spring Boot Master Class

Spring Boot Master Class

Sources: Amigoscode (Nelson Djalo)
Learn how to get started with Spring Boot, a powerful framework to build web applications quickly, using less code. The Java-based programs you build in Spring
9 hours 28 minutes 30 seconds