Spring MVC and Advance Java Programming

5.5K+ Learners

Course Overview

Master UI skills with advanced HTML and CSS and build 3-tier applications with Spring framework, Angular, JUnit5, SOAP. This phase will enable you to deploy continuous integration and automation using a common DevOps tool: Jenkins.

Take the First Step to Your Goals

Lifetime access to self-paced e learning content

Training Options

Self Paced Learning

  • num_of_days days of access to high-quality, self-paced learning content designed by industry experts

$7,999

Course Curriculum

Course Content

  • Section 01: Spring 5.0 Core Training

    Preview
    • 01 Understanding Dependency Injection

      16:39Preview
      • 1 Understanding Dependency Injection
        04:22
      • 2 Introduction to the Spring Framework
        04:48
      • 3 Dependency Injection and Inversion of Control
        07:29
    • 02 Wiring Beans

      30:36Preview
      • 1 Wiring Beans
        05:48
      • 2 Spring Bean Lifecycle
        10:05
      • 3 Spring Bean Scopes
        07:19
      • 4 DI in Spring Framework
        07:24
    • 03 Aspect Oriented Programming

      26:40
      • 1 Aspect Oriented Programming
        06:46
      • 2 AOP with @AspectJ
        11:43
      • 3 AOP with Spring AOP API
        08:11
    • 04 Transaction Management

      20:21Preview
      • 1 Transaction Management
        04:05
      • 2 Programmatic Transaction Management
        08:39
      • 3 Declarative Transaction Management
        07:37
    • 05 Reactive Streams

      28:40
      • 1 Reactive Streams
        05:57
      • 2 Reactive Streams Primitives
        12:58
      • 3 Reactive Streams and Background Processing
        09:45
    • 06 Spring MVC

      41:48Preview
      • 1 Spring MVC
        08:22
      • 2 Implementing Controller
        10:47
      • 3 Implementing View
        08:54
      • 4 Implementing Model
        05:22
      • 5 Exception Handling
        08:23
    • 07 Spring MVC and REST

      25:15
      • 1 Spring MVC and REST
        06:15
      • 2 Implementing @RestController
        08:31
      • 3 Exception Handling in RESTful Style
        10:29
    • 08 Spring Data Access

      38:25
      • 1 Spring Data Access
        15:50
      • 2 Overview Spring Data
        14:59
      • 3 Spring Data and NoSQL
        07:36
    • 09 Testing with Spring

      39:52Preview
      • 1 Testing with Spring
        05:51
      • 2 Integration Testing with Spring
        11:35
      • 3 Testing of Spring MVC Based Application
        22:26
    • 10 Reactive Application with Spring

      23:19Preview
      • 1 Reactive Application with Spring
        08:30
      • 2 Overview Reactive Capabilities Brought into Spring Data
        07:49
      • 3 Fully Reactive with Spring WebFlux and Spring Data
        07:00
  • Section 02: Master Hibernate and JPA with Spring Boot in 100 Steps

    Preview
    • 01 Introduction

      17:39Preview
      • 1 Introduction
        03:00
      • 2 Master Hibernate and JPA with Spring Boot - Course Overview
        03:04
      • 3 Master Hibernate and JPA with Spring Boot - Git Repository
        02:30
      • 4 Master Hibernate and JPA with Spring Boot - Installing Basic Tools
        01:33
      • 5 Quick introduction to JPA
        07:32
    • 02 Introduction to Spring Boot in 10 Steps

      01:00:53Preview
      • 1 Introduction to Spring Boot in 10 Steps
        01:33
      • 2 Step 1 Introduction to Spring Boot - Goals and Important Features
        06:11
      • 3 Developing Spring Applications before Spring Boot
        03:46
      • 4 Using Spring Initialize to create a Spring Boot Application
        04:48
      • 5 Creating a Simple REST Controller
        05:03
      • 6 What is Spring Boot Auto Configuration
        09:07
      • 7 Spring Boot vs Spring vs Spring MVC
        05:55
      • 8 Spring Boot Starter Projects - Starter Web and Starter JPA
        07:39
      • 2.9 Overview of different Spring Boot Starter Projects
        04:01
      • 2.10 Spring Boot Actuator
        08:38
      • 2.11 Spring Boot Developer Tools
        04:12
    • 03 Journey From Spring JDBC to JPA

      01:29:49Preview
      • 1 Journey From Spring JDBC to JPA
        01:30
      • 2 Setting up a project with JDBC, JPA, H2 and Web Dependencies
        05:32
      • 3 Launching up H2 Console
        05:05
      • 4 Creating a Database Table in H2
        03:54
      • 5 Populate data into Person Table
        05:21
      • 6 Implement findAll persons Spring JDBC Query Method
        06:15
      • 7 Execute the findAll method using CommandLineRunner
        05:45
      • 8 A Quick Review - JDBC vs Spring JDBC
        02:41
      • 9 Whats in the background Understanding Spring Boot Autoconfiguration
        05:06
      • 10 Implementing findById Spring JDBC Query Method
        03:48
      • 11 Implementing deleteById Spring JDBC Update Method
        03:08
      • 12 Implementing insert and update Spring JDBC Update Methods
        08:39
      • 13 Creating a custom Spring JDBC RowMapper
        04:58
      • 14 Quick introduction to JPA
        05:54
      • 15 Defining Person Entity
        04:03
      • 16 Implementing findById JPA Repository Method
        08:06
      • 17 Implementing insert and update JPA Repository Methods
        03:51
      • 18 Implementing deleteById JPA Repository Method
        02:10
      • 19 Implementing findAll using JPQL Named Query
        04:03
    • 04 Introduction to JUnit in 5 Steps

      23:48
      • 1 Introduction to JUnit in 5 Steps
        01:08
      • 2 What is JUnit and Unit Testing
        03:55
      • 3 First JUnit Project and Green Bar
        04:44
      • 5 First Code and First Unit Test
        05:07
      • 6 Other assert methods
        03:46
      • 7 Important annotations
        05:08
    • 05 JPA and Hibernate in Depth

      02:03:05Preview
      • 1 JPA and Hibernate in Depth
        01:43
      • 2 Create a JPA Project with H2 and Spring Boot
        04:43
      • 3 Create JPA Entity Course
        04:04
      • 4 Create findById using JPA Entity Manager
        08:24
      • 5 Configuring application properties to enable H2 console and logging
        07:08
      • 6 Writing Unit Test for findById method
        10:46
      • 7 Writing a deleteByID method to delete an Entity
        05:41
      • 8 Writing Unit Test for deleteById method
        04:33
      • 9 Writing a save method to update and insert an Entity
        03:23
      • 10 Writing Unit Test for save method
        05:51
      • 11 Quick Review and Debugging Tips
        07:16
      • 12 Playing with Entity Manager
        07:16
      • 13 Entity Manager Methods - clear and detach
        05:32
      • 14 Entity Manager Methods – refresh
        06:31
      • 15 A Quick Review of Entity Manager
        02:10
      • 16 JPQL – Basics
        07:57
      • 17 JPA and Hibernate Annotations - @Table
        04:35
      • 18 JPA and Hibernate Annotations - @Column
        05:48
      • 19 JPA and Hibernate Annotations - @UpdateTimestamp & @CreationTimestamp
        07:08
      • 20 JPA and Hibernate Annotations - @NamedQuery and @NamedQueries
        04:21
      • 21 Native Queries – Basics
        08:15
    • 06 Establishing Relationships with JPA and Hibernate – OneToOne

      01:02:01Preview
      • 1 Establishing Relationships with JPA and Hibernate – OneToOne
        06:21
      • 2 Defining Entities - Student, Passport and Review
        09:30
      • 3 Introduction to One to One Relationship
        07:22
      • 4 OneToOne Mapping - Insert Student with Passport
        08:46
      • 5 OneToOne Mapping - Retrieving Student with Passport and Eager Fetch
        04:33
      • 6 OneToOne Mapping - Lazy Fetch
        04:50
      • 7 OneToOne Mapping - Bidirectional Relationship - Part One
        10:12
      • 8 OneToOne Mapping - Bidirectional Relationship - Part One
        06:35
      • 9 Transaction, Entity Manager and Persistence Context
        03:52
    • 07 Let's review with a few FAQs about Hibernate and JPA

      17:07
      • 1 Let's review with a few FAQs about Hibernate and JPA
        06:13
      • 2 When do we need @Transactional in a Unit Test
        03:10
      • 3 Do read only methods need a transaction
        04:58
      • 4 Why do we use @DirtiesContext in an Unit Test
        02:46
    • 08 Establishing Relationships with JPA and Hibernate - OneToMany and ManyToMany

      01:15:52Preview
      • 1 Establishing Relationships with JPA and Hibernate - OneToMany and ManyToMany
        04:34
      • 2 Part 2 - ManyToOne Mapping - Implementing the Mapping
        06:52
      • 3 ManyToOne Mapping - Retrieving and inserting Reviews for Course
        08:09
      • 4 ManyToOne Mapping - Generalizing Insert Reviews
        06:09
      • 5 ManyToOne Mapping - Wrapping up
        09:28
      • 6 ManyToMany Mapping - Table Design
        02:59
      • 7 ManyToMany Mapping - Adding Annotations on Entities
        04:44
      • 8 ManyToMany Mapping - Fixing two join tables problem
        03:27
      • 9 ManyToMany Mapping - Customizing the Join Table
        05:02
      • 10 ManyToMany Mapping - Insert Data and Write Join Query
        04:41
      • 11 ManyToMany Mapping - Retrieve Data using JPA Relationships
        07:11
      • 12 ManyToMany Mapping - Insert Student and Course
        08:38
      • 13 Relationships between JPA Entities - A summary
        03:58
    • 09 Inheritance Hierarchies with JPA and Hibernate

      34:49Preview
      • 1 Inheritance Hierarchies with JPA and Hibernate
        02:34
      • 2 JPA Inheritance Hierarchies and Mappings - Setting up entities
        04:13
      • 3 Step44 - JPA Inheritance Hierarchies and Mappings - Setting up a Repository3 JPA Inheritance Hierarchies and Mappings - Setting up a Repository
        05:12
      • 4 JPA Inheritance Hierarchies and Mappings - Single Table
        05:31
      • 5 JPA Inheritance Hierarchies and Mappings - Table Per Class
        03:35
      • 6 JPA Inheritance Hierarchies and Mappings – Joined
        03:53
      • 7 JPA Inheritance Hierarchies and Mappings - Mapped Super Class
        05:14
      • 8 JPA Inheritance Hierarchies and Mappings - How to Choose
        04:37
    • 10 Queries with Entities using JPQL

      24:34Preview
      • 1 Queries with Entities using JPQL
        05:54
      • 2 JPQL - Courses with at least 2 Students and order by
        03:57
      • 3 JPQL - Courses like 100 Steps
        04:22
      • 4 JPQL - Using Joins
        10:21
    • 11 Queries using Java API - Criteria Queries

      18:34
      • 1 Queries using Java API - Criteria Queries
        09:03
      • 2 Criteria Query - Courses like 100 Steps
        03:27
      • 3 Criteria Query - Courses without Students
        02:16
      • 4 Criteria Query - Using Joins
        03:48
    • 12 Transaction Management

      34:41Preview
      • 1 Transaction Management
        04:43
      • 2 Transaction Management - ACID Properties
        06:04
      • 3 Understanding Dirty, Phanthom and Non Repeatable Reads
        09:25
      • 4 Understand 4 Isolation Levels
        05:48
      • 5 Choosing between Isolation Levels
        04:03
      • 6 Implementing Transaction Management -3 Things to Decide
        04:38
    • 13 Spring Data JPA & Spring Data REST

      36:06Preview
      • 1 Spring Data JPA & Spring Data REST
        04:28
      • 2 Testing the Spring Data JPA Repository with findById.
        04:13
      • 3 Spring Data JPA Repository - CRUD Methods
        05:30
      • 4 Sorting using Spring Data JPA Repository
        02:53
      • 5 Pagination using Spring Data JPA Repository
        06:17
      • 6 Custom Queries using Spring Data JPA Repository
        07:31
      • 7 Spring Data REST
        05:14
    • 14 Caching with Hibernate & JPA

      30:38Preview
      • 1 Caching with Hibernate & JPA
        07:16
      • 2 Hibernate and JPA Caching - First Level Cache
        06:24
      • 3 Hibernate and JPA Caching - Basics of Second Level Cache with EhCache
        07:32
      • 4 Hibernate and JPA Caching - Second Level Cache Part Two
        09:26
    • 15 Hibernate & JPA Tips

      36:05Preview
      • 1 Hibernate & JPA Tips
        09:36
      • 2 Hibernate Soft Deletes - Part Two
        06:17
      • 3 JPA Entity Life Cycle Methods
        02:37
      • 4 Using Embedded and Embeddable with JPA
        06:31
      • 5 Using Enums with JPA
        06:24
      • 6 JPA Tip - Be cautious with toString method implementations
        02:31
      • 7 JPA Tip - When do you use JPA
        02:09
    • 16 Performance Tuning Tips with Hibernate & JPA

      17:29Preview
      • 1 Performance Tuning Tips with Hibernate & JPA
        01:56
      • 2 Performance Tuning – Indexes
        01:44
      • 3 Performance Tuning - Use Appropriate Caching
        02:56
      • 4 Performance Tuning - Eager vs Lazy Fetch
        02:02
      • 5 Performance Tuning - Eager vs Lazy Fetch
        08:51
    • 17 Few more FAQ

      11:11
      • 1 Few more FAQ
        04:06
      • 2 Approach to design great applications with JPA
        02:26
      • 3 Good Practices for developing JPA Applications
        04:39
    • 18 Congratulations

      01:16
      • 1 Congratulations
        01:16
    • 19 Appendix - Introduction to Spring Framework in 10 Steps

      01:01:36Preview
      • 1 Appendix - Introduction to Spring Framework in 10 Steps
        01:10
      • 2 Setting up a Spring Project using htttpstart.spring.io
        04:49
      • 3 Understanding Tight Coupling using the Binary Search Algorithm Example
        08:27
      • 4 Making the Binary Search Algorithm Example Loosely Coupled
        05:22
      • 5 Using Spring to Manage Dependencies - @Component, @Autowired
        11:31
      • 6 What is happening in the background
        06:28
      • 7 Dynamic auto wiring and Troubleshooting - @Primary
        04:47
      • 8 Constructor and Setter Injection
        04:56
      • 9 Spring Modules
        05:05
      • 10 Spring Projects
        04:46
      • 11 Why is Spring Popular
        04:15
  • Section 03: DevOps: CI/CD with Jenkins pipelines, Maven, Gradle

    Preview
    • 1 Welcome And Introduction

      05:04Preview
      • 1 Introduction
        02:03
      • 2 Course overview
        02:12
      • 3 Get ready for Jenkins
        00:49
    • 2 Continuous Integration & Continuous Delivery With Jenkins

      15:14Preview
      • 1 Introduction to Jenkins
        06:11
      • 2 SDLC and DevOps culture
        02:48
      • 3 Jenkins features and architecture
        06:15
    • 3 Getting Started With Jenkins

      54:12Preview
      • 1 Install Jenkins
        09:49
      • 2 Configure Jenkins
        08:10
      • 3 Get started with Jenkins
        10:44
      • 4 Setup Jenkins job
        03:34
      • 5 Jenkins pipeline view
        07:05
      • 6 Install Artifactory
        10:06
      • 7 Explore Artifactory
        04:44
    • 4 CI & CD Pipeline With Jenkins, Gradle & Artifactory

      28:52Preview
      • 1 CI and CD pipeline with Jenkins, Gradle and Artifactory
        04:14
      • 2 Build CI and CD pipeline with Jenkins and Gradle
        05:41
      • 3 Configure Artifactory
        07:40
      • 4 Build CI and CD pipeline with Jenkins and Gradle (contd.)
        11:17
    • 5 CI & CD Pipeline With Jenkins & Maven

      30:04
      • 1 Review Java web application project
        07:04
      • 2 Start building CI and CD pipeline with Jenkins and Maven
        02:28
      • 3 Start building CI and CD pipeline with Jenkins and Maven #2
        09:48
      • 4 Start building CI and CD pipeline with Jenkins and Maven #3
        10:44
    • 6 Manage Relational Database Schema With Jenkins And Sqitch

      27:52Preview
      • 1 Introduction to Sqitch
        10:32
      • 2 Build database schema deployment pipeline with Jenkins and Sqitch
        10:29
      • 3 Finish database schema deployment pipeline with Jenkins and Sqitch
        06:51
    • 7 Operational Considerations For Jenkins

      33:13Preview
      • 1 Jenkins security
        11:37
      • 2 Scaling Jenkins
        10:09
      • 3 Scaling Jenkins (contd.)
        03:46
      • 4 Jenkins tips and tricks
        07:41
  • Live Virtual Class Curriculum

    Preview
    • Lesson 01: Create a Java Application on a Spring Framework

      • Section Introduction
      • Spring Framework Architecture: Overview
      • Assisted Practice: Environmental Set up
      • Spring Containers
      • Default and Custom Event Handling
      • Assisted Practice: Default and Custom Event Handling
      • JDBC Framework
      • Assisted Practice: JDBC Framework
      • Spring MVC Framework
      • Searching for a Specific User and Updating the User Information
    • Lesson 02: Create a Java Application on a Spring Boot Framework

      • Section Introduction
      • Spring Boot vs. Spring
      • Spring Boot Exception Handling
      • Assisted Practice: Spring Boot Exception Handling
      • Building RESTful Web Services
      • Consuming RESTful Web Services
      • Assisted Practice: Consuming RESTful Web Services
      • Edge Server and Routing
      • Assisted Practice: Edge Server and Routing
      • File Handling
      • Assisted Practice: File Handling
      • Swagger2
      • Apache Kafka
      • Assisted Practice: Sending and Receiving Messages with Apache Kafka
      • Database Handling
      • Spring Boot: HTTPS
      • Assisted Practice: HTTPS for Spring Boot
      • Displaying User Feedback
    • Lesson 03: Junit 5 Testing

      • Section Introduction
      • Moving from Junit Four to Junit Five
      • Junit Five Architecture and Platform
      • Standard Tests
      • Assisted Practice: JUnit5: Standard Tests
      • Assertions
      • Assisted Practice: Assertions
      • Conditional Test Execution
      • Assisted Practice: Conditional Test Execution
      • Nested and Repeated Tests
      • Assisted Practice: Nested and Repeated Tests
      • Dynamic Tests
      • Assisted Practice: Dynamic Tests
      • Dependency Injection
      • Assisted Practice: Dependency Injection
      • Handling User Authentication
    • Lesson 04: WebServices in Java

      • Section Introduction
      • Web Services
      • RESTful with Springboot
      • Assisted Practice: Build RESTful with Springboot
      • Microservices with Springboot
      • Assisted Practice: Microservices communication with Springboot
      • Implement Spring Security with Authentication

Why Join this Program

  • Develop skills for real career growthCutting-edge curriculum designed in guidance with industry and academia to develop job-ready skills
  • Learn from experts active in their field, not out-of-touch trainersLeading practitioners who bring current best practices and case studies to sessions that fit into your work schedule.
  • Learn by working on real-world problemsCapstone projects involving real world data sets with virtual labs for hands-on learning
  • Structured guidance ensuring learning never stops24x7 Learning support from mentors and a community of like-minded peers to resolve any conceptual doubts

Recommended Learning Materials for Upskilling

Explore free webinars, tutorials, career guides, and practical reads to go deeper

  • Acknowledgement
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, OPM3 and the PMI ATP seal are the registered marks of the Project Management Institute, Inc.
  • *All trademarks are the property of their respective owners and their inclusion does not imply endorsement or affiliation.
  • Career Impact Results vary based on experience and numerous factors.