Autoplay
Autocomplete
HTML5
Flash
Player
Speed
Previous Lecture
Complete and continue
Full Stack Java developer - Java + JSP + Restful WS + Spring
Background
About the course (2:12)
Meet your instructor (1:24)
Background story (7:10)
About Curriculum (1:24)
Setting up
Download process and installation of Java (Windows) (4:42)
Download and installation process of Eclipse (Windows) (5:34)
A short message (2:23)
Getting started
The language of 50 keywords (1:21)
Our first Java program (4:27)
Variable and datatype (3:54)
Understanding variables (6:26)
Primitive Data Types (7:15)
Primitive Data Types (floating point datatype) (10:19)
Primitive Data Types (boolean and char) (5:41)
String basics (6:44)
Type casting (16:24)
Naming conventions (4:15)
EXERCISE - Solve an equation (6:26)
When to use what (2:43)
Decision making under Java
Arithmetic operators (9:41)
Making decision with operators - Part 1 (7:10)
Making decision with operators - Part 2 (4:47)
Making decision with operators - Part 3 (13:06)
Ternary operator (9:15)
Assignment operators (5:25)
Making decision with if else (13:24)
Flow control
Switch case - Part 1 (10:33)
Switch case - Part 2 (6:22)
Switch case - Part 3 (5:38)
For loop (13:25)
While loop (6:57)
Do while loop (4:32)
Loops Revisited (7:04)
Break and continue (4:14)
Nested loops (4:55)
Nested loops - exercise (3:21)
Modulo operator (Bonus) (6:28)
Sum Of digit solution (Bonus) (7:15)
Methods
Methods (14:17)
Methods parameters _ return type (8:08)
Method overloading (6:42)
Method overloading - Part 2 (9:07)
Some good information
Code Block, Indentation and statements (5:28)
Codeblocks, statements and indentation and literals (11:51)
Object Oriented Programming Concepts
Classes - Part 1 (6:12)
Classes - Part 2 (10:41)
Classes - Getters and setters (3:01)
Classes - Adding functionality into class (6:03)
Constructors Introduction (7:12)
Default constructor (6:59)
Usage of constructors (3:59)
Understanding inheritance (4:46)
Working with inheritace - Part 1 (7:30)
Working with Inheritance - Part 2 (8:33)
Working with Inheritance - Part 3 (7:59)
Working with inheritance - Part 4 (3:10)
Working with inheritance - Part 5 (4:02)
Composition Introduction (4:03)
Composition Setting up (11:03)
Working with composition (3:43)
Adding functionality (10:45)
Encapsulation - Part 1 (10:09)
Encapsulation - Part 2 (1:35)
Polymorphism - Part 1 (13:51)
Polymorphism - Part 2 (4:52)
Core concepts
Interfaces (14:15)
Abstract class - Introduction (8:41)
Multiple inheritance using interfaces (7:07)
Inner classes (5:36)
Types of nested class (3:05)
Local inner class (7:00)
Anonymous object (2:50)
Anonymous inner class (7:13)
Advantages of inner class (2:09)
User input (6:21)
Static elements (7:31)
Static inner class - Part 1 (4:29)
Static inner class - Part 2 (6:44)
Final keyword (5:22)
Final keyword with method and class (7:32)
Packages (10:13)
Packages continues (4:48)
Scope (6:57)
Access modifier (2:55)
Access modifier - Part 1 (6:40)
Access modifier - Part 2 (3:49)
Exception handing (Intro) (5:25)
Exception handling, Multiple catch blocks (13:11)
Exception handling, Multiple catch blocks - Part 2 (3:32)
Finally block (5:47)
Throw and throws (11:03)
User defined exception (10:12)
Checked and unchecked exceptions (4:26)
Enum (8:08)
Enum continues (7:34)
Strings (5:29)
Array - basics
What's an array (2:05)
How to initialize array (9:45)
Foreach loop (5:52)
Methods - Call by value and reference (8:58)
Issues with array (2:40)
Collections framework
ArrayList (12:26)
ArrayList - Part 2 (7:34)
Autoboxing and unboxing (16:25)
Collections framework Overview (3:10)
ArrayList and Stack overview (4:36)
Stack methods (5:27)
LinkedList (6:01)
LinkedList operations (5:56)
List interface (5:38)
Iterators (4:44)
Sorting and reversal of elements (4:39)
Compare To method overview (4:59)
Comparable interface (9:20)
Understanding bit more of it (5:55)
Generics
Generics overview (3:01)
Getting started with generics (11:10)
Understanding generics (11:12)
Type parameters (5:36)
Generic method (8:04)
Bounded type parameter (11:33)
Comparable interface (5:15)
Wildcards in Generics (14:17)
Collections continues
Sets (4:53)
Set types (5:39)
Custom sorting using comparator (8:43)
Queue (14:25)
Dequeue (6:10)
Maps (13:18)
TreeMap (10:29)
Equals and hashcode methods (11:25)
Search under Maps (6:45)
Someting more (10:52)
Multithreading-Concurrency control in Java
Threads overview (7:23)
Creating thread by extending the thread class (11:36)
Creating thread by implementing runnable interface (8:55)
Synchronization under concurrency control (6:38)
Synchronized method (8:42)
Synchronized block (10:10)
Synchronized block on object (1:43)
Static synchronization (9:07)
Usage of volatile keyword (5:34)
Wait and notify (17:52)
Interrupt (13:15)
Join overview (13:20)
Thread pools (10:34)
CountDownLatch (9:08)
Blocking Queue (10:58)
Reentrant lock (9:08)
Deadlock - Part 1 (12:24)
Deadlock - Part 2 (19:03)
Lambda expression - basics
Lambda expression overview (6:27)
Lambda expression continued (8:18)
Lambda expressions, something more (11:27)
Lambda expressions, few more things (14:54)
Lambda expressions with variables and iterations (8:58)
Predicates (5:26)
Predicates something more (3:23)
File Handling under Java
Data streams (1:49)
Creating file on disk (9:48)
Creating a directory in Java (5:43)
Writing into files (10:40)
Reading files with BufferedReader (6:26)
Reading files with scanner (2:24)
Scanner vs Buffered reader (1:54)
File deletion (1:49)
Try with resources (5:18)
Serialization of Objects (10:54)
Debugging
Getting started with debugging (13:30)
Debugging, runtime variable value update (6:41)
Debugging Continues (15:02)
How to apply watch on variable(s) (4:59)
GIT basics
Before we go further (2:37)
GIT overview (4:48)
GIT features overview (8:02)
Setting up GIT (8:44)
Clone and import GIT project into eclipse (3:29)
Clone GIT project directly from eclipse (3:59)
JSP and Servlets - Introduction
Let's start with JSP and Servlets (0:53)
Requirements to get started (4:43)
Project setup (5:03)
Hello Servlets (4:46)
Hello JSP (3:08)
Servlets life cycle (3:02)
JSP expressions (5:01)
JSP scriptlets (3:57)
JSP declarations (3:03)
JSP comment (4:23)
Directive (2:25)
Deployment descriptor and annotation (9:14)
JSP configuration in deployment descriptor (3:56)
Reading URL parameter(s) (7:32)
Include file(s) in JSP page (5:30)
Import class into Jsp page (5:38)
Forward and redirect under JSP (4:54)
MVC overview (3:07)
Basic redirection using servlet (2:14)
Basic application based on MVC (10:11)
Forms
Forms overview (3:41)
Forms under JSP (9:28)
Forms under Servlets (8:09)
Basic form validations (4:35)
Understanding Java Beans
Beans overview (9:11)
Bean scope types (8:21)
Request scope (5:15)
Beans with web forms (7:22)
Session management
Session under JSP overview (10:35)
Introduction to cookie app demo (6:30)
Read and write operation of cookie (9:35)
User logout (Via cookie) (7:37)
User logout (using session attribute) (5:47)
Organising the application (7:07)
Fixing Redirect and forward links (8:41)
Handling session without cookie (5:19)
Servlet Filter (8:41)
JSTL core tags
JSTL setting up (4:29)
JSTL set and remove tags (8:13)
Reading from Bean using Expression Language (4:32)
Decision making under JSTL (3:52)
JSTL Choose, when and otherwise tags (3:25)
JSTL for loop (4:05)
JSTL forEach loop (3:52)
JSTL forTokens (2:57)
JSTL import and param tag (5:46)
JSTL URL and redirect tag (5:06)
JSTL catch tag (2:33)
Good to know information
Good to know information (7:07)
JSTL functions tags
JSTL length function (4:40)
JSTL trim and escapeXml function (4:02)
JSTL more functions (3:05)
JSTL even more functions (4:09)
JSTL Split and Join function (4:17)
JSTL XML tags
Adding Sample XML file (2:28)
JSTL XML Parse and Out tag (6:49)
JSTL XML ForEach and If tag (5:50)
JSTL XML Choose When otherwise (4:34)
I18N Overview
Overview of I18N (3:21)
Locale (2:22)
Project on JSTL I18N
Setting up (5:16)
Adding properties (6:47)
Integration with website (i18n) (7:13)
JSTL formatting tags
Formatting date and number (5:58)
Building Custom tag
Building custom tag (7:28)
Integrate web template
Extracting header and Footer (8:35)
Integrate template with project (7:21)
Integrate template with project using JSTL (4:16)
Revisiting Servlets
Servlets initialization (7:54)
Understanding more about Servlet (4:10)
Interacting with database
Use of workbench (3:22)
Setting tools required (4:18)
Setting up JNDI (8:51)
Testing connection (8:53)
Listing data on webpage
Setting up (8:59)
Listing data on webpage Part 1 (9:55)
Listing data on webpage (Part 2) (9:39)
Making use of include directive (5:58)
Add record(s) into database
Form implementation for record addition (9:44)
Organizing application (9:19)
Almost done (11:21)
Finalize the feature (8:42)
Update record(s) into database
Updating Controller (5:18)
Upgrading the list (5:30)
Populating form (5:50)
Adding Update functionality (10:59)
Delete record from database
Upgrading the list (8:20)
Adding delete functionality (7:23)
Adding JSTL support
Adding JSTL support (10:24)
Image/File upload
Image upload form (6:42)
Handle image files (8:37)
Upload image onto filesystem (4:14)
Hibernate Introduction
Let's start with Hibernate (0:59)
Hibernate Overview (6:49)
Installing MySQL (4:20)
SQL workbench (7:50)
Hibernate Framework
Setting up Project (6:57)
Setting Up Hibernate Configuration File (5:21)
Session Factory and Session (2:09)
Adding Entity Class (Part 1) (6:07)
Adding Entity Class (Part 2) (2:26)
Hibernate in Action (Part 1) (5:12)
Hibernate in Action (Part 2) (5:03)
CRUD - Retriving Record from Database (5:56)
CRUD - Updating a Record in Database (4:43)
CRUD - Deleting Record from Database (6:13)
Hibernate Query language Basics
Listing Records (8:29)
HQL The Where Clause (5:09)
Update Records using HQL (4:41)
Deleting Record using HQL (4:01)
Building the application
Setting things up (10:27)
List available files (9:31)
Display image files on JSP page (9:51)
Improve view of the page (4:21)
Adding update information form (8:36)
Implement update information functionality (10:38)
Update information logic revisited (6:02)
Update specific column data using hibernate (4:55)
Add view image action (11:14)
Implement view image page (8:54)
Add delete image action (13:00)
Recheck the application working (3:36)
Spring framework - Introduction
Introduction (3:32)
Setting up
Setting up System (6:11)
Setting up Eclipse IDE (4:18)
Integrating Tomcat with Eclipse (5:06)
Adding Springs plugin into Eclipse (2:48)
Downloading Spring framework (9:55)
Inversion of control - Getting Started (XML Configuration)
Understanding the Scenario (0:54)
Coding the Scenario (6:18)
Coding the Scenario(Part 2) (4:21)
Understanding Inversion of control (3:48)
Implementing Inversion of Control (10:20)
Good to Know Information (Part 1)
ClassPathXmlApplicationContext (7:46)
Project files on Drive (1:35)
Inversion of control - Continues (XML Configuration)
Constructor Arguments (12:00)
Setting Bean Properties (7:41)
Setting Bean Property using P Namespace (2:58)
Inversion on control - Dependency injection (XML Configuration)
Dependency injection (Constructor argument) (9:08)
Dependency Injection (Property setter) (6:55)
Dependency Injection (Inner Bean) (4:28)
Understanding Spring bean (XML Configuration)
What is bean (2:08)
Bean Scope (2:03)
Bean scopes - Setting up (4:49)
Bean scopes - Singleton Prototype Scope (7:48)
Bean LifeCycle (2:22)
Beans init and destroy (5:28)
Spring Beans and collection
Setting list as Constructor arg (6:12)
Setting Set as Constructor arg (3:12)
Setting Map as Property (7:25)
Setting Property as Property (4:00)
Autowiring (XML Configuration)
Getting Started with Constructor (8:09)
Constructor Autowiring (Removing Ambiguities) (5:34)
Autowiring Default Setting - Basics (6:42)
Autowiring Properties - Setting up (5:29)
Autowire byName (9:12)
Autowire byType (6:43)
Inversion of Control - Getting Started (Annotations)
Annotation (4:10)
How Spring Annotation works (6:41)
Annotation Manual Wiring (4:48)
Annotations Default Bean ID (3:34)
Inversion on control - Dependency injection (With Annotation)
Annotation-config vs Component-scan (2:54)
Autowire XML beans with annotation(Background) (6:15)
Autowire XML beans with annotation (9:02)
Construction (4:16)
Construction Injection only with Annotations (3:02)
Autowired Required attribute (3:03)
Setter Injection (8:39)
Field Injection (3:09)
Ambiguities and Autowiring (9:31)
Qualifier Annotation (4:15)
Understanding Spring bean (Annotations)
Bean Scope (2:36)
Bean Scope with Annotation (6:55)
Init and Destroy Method of Bean (4:51)
Good to know information (Part 2)
SpEL Language (10:13)
Reading from property file (XML Config) (10:06)
Spring Configuration Annotation (No XML)
Type of Configurations (2:49)
Spring Configurations Getting Started (4:47)
Defining Beans (7:30)
Constructor Injection (8:08)
Reading from property file (Annotation) (13:12)
Spring MVC - Getting Started
Spring MVC - Understanding the pattern (3:36)
Steps Required for Creating Spring MVC Project (4:57)
Setting up Project (8:46)
Setting Up Tomcat WebServer (12:09)
Updating Web.xml (9:36)
Servlet Mapping (3:29)
Configure Spring Web configuration file (4:27)
Configure the Controller (7:35)
Adding Homepage (5:15)
Init Param Revisited (6:24)
A Quick Walk through (5:41)
Spring MVC - Reading Data
Adding form (5:03)
Reading from form (5:37)
Introducing Model (5:55)
Adding JSTL Support (8:40)
Adding complex data to model (8:58)
Reading Complex data using JSTL (6:28)
Reading Form Data using Request Param Annotation (3:54)
Spring Form Elements
Spring Form Elements Introduction (4:20)
Spring Form Elements - behind the scene (5:40)
Getting Started with Form (13:30)
Adding Radio buttons (Part 1) (6:13)
Adding Radio buttons (Part 2) (7:08)
Adding Dropdown List (Part 1) (6:13)
Adding Dropdown List (Part 2) (6:07)
Adding Textarea (6:35)
Adding Checkboxes (Part 1) (9:33)
Adding Checkboxes (Part 2) (7:19)
The 3 Approaches (3:15)
Understanding Model and ModelMap Approach (9:30)
Styling and External Resources
Adding resources (9:08)
Styling the Form (7:29)
Form Validations
Form Validation using HTML (3:30)
An Update (7:59)
Form Validation - Hibernate Validator (JSR 303) (9:55)
Repopulating form Data (7:36)
Displaying message on View (7:46)
Form Validation Rules (5:01)
Database Connectivity using JDBC (XML Configuration)
Installing mysql (8:01)
SQL workbench (8:11)
Understanding the Architecture (8:48)
Methods of Mapping (1:11)
Setting Up Project (6:05)
Adding DAOs (13:47)
Defining Beans (XML Configuration) (12:48)
Reading from Database (7:41)
Showing Information on webpage (7:43)
Database Connectivity using JDBC (Annotations)
Defining Annotations (8:02)
Getting Things in Place (3:31)
Adding Add User link (3:24)
A Walk-through (4:14)
Updating the Controller (6:48)
Adding the Validation (5:56)
Add User (3:31)
Exception Handling under Spring MVC
Exception Handling (6:37)
Filters
Filter (2:20)
Filters Introduction (6:31)
Spring Security (XML Configuration)
Add Security layer (Part 1) (11:19)
Add Security layer (Part 2) (10:05)
Understand Intercept-URL (5:28)
AllowStatic files (2:33)
Use Custom Login Form (10:43)
Display Error Message (3:56)
Make use of JDBC User Service (15:27)
Fix the Broken (9:26)
Add Remember Me Option (10:33)
Add a Logout Link (11:21)
Work with Roles (Authorities) (11:46)
Custom Access denied Page (4:19)
Method Based Security (4:33)
Encrypt Passwords (12:41)
Spring Security (Annotations)
Spring Security with Annotation (10:16)
Custom login Page (7:39)
Displaying Error Message (5:11)
Spring Security with JDBC User Service (8:05)
Adding Remember Me Option (9:32)
Custom Access Denied page (4:19)
Adding a Logout link (5:37)
Encryp Passwords (4:50)
Spring With Hibernate app - Listing Table Rows
Set up Simple Spring Project (3:29)
Add Hibernate Jars (4:52)
Configure Project - setting up MySQL (3:56)
Walk-through (1:29)
Understand Architecture (1:44)
Add Entity Class (6:13)
Add Hibernate Configuration (14:23)
@Repository and @Service Annotation (3:45)
@Transactional Annotation (4:06)
Add DAO Layer (5:40)
Finalize Project (8:04)
Understand Behind The Scene Working (4:31)
Spring With Hibernate App - Adding Service Layer
Service Layer (2:44)
The Development Process (1:49)
Adding The Service Layer (5:31)
Spring With Hibernate App - Adding Add Product Functionality
Mapping Annotation (2:39)
Walk-through (1:17)
Development Process (2:25)
Add Product Functionality (Part 1) (6:26)
Add Product Functionality (Part 2) (4:39)
Add Product Functionality (Part 3) (4:57)
Spring With Hibernate App - Adding Update Product Functionality
The Walkthrough (1:46)
Add Update Product Functionality (Part 1) (5:47)
The Development Process (7:30)
Add Update Product Functionality (Part 2) (13:40)
Spring With Hibernate App - Adding Delete Product Functionality
Walk-through (1:07)
Development Process (2:54)
Add Delete Product Functionality (Part 1) (2:52)
Add Delete Product Functionality (Part 2) (6:47)
Web Services - Restful API
Introduction To Web Services (5:25)
REST web-services overview (Part - 1) (4:18)
Resource based URIs (8:48)
More about resource based URIs (6:40)
Rest response (6:52)
Status codes (7:30)
Idempotence of HTTP Methods (5:49)
Hypermedia as the Engine of Application State (HATEOAS) (13:49)
The Richardson Maturity Model (7:20)
JAX-RS and implementations overview (4:37)
Setting up
Download of installation of JDK (4:42)
Download and installation of eclipse (5:34)
Setting up (12:18)
Background story (8:30)
Getting started with Restful API-part1 (4:59)
Getting started with Restful API - First API (8:28)
Revisiting backgrounds and handling post request (9:39)
Resource based URI for CRUD methods (8:48)
PathParams (7:07)
Database connectivity (Hibernate)
Installing MySQL (5:37)
Creating sample database (4:17)
Setting up service (7:56)
Service layer continues (4:45)
Integrating hibernate (7:45)
Add DAO layer (7:49)
Implementing DAO layer (12:22)
XML response (10:48)
JSON response (7:12)
Understanding Restful web-services (Jax rs)
Subresource - Setting up table (5:34)
Add subresource on existing resource (9:25)
Add subresource on existing resource in action (10:29)
ManyToOne mapping in hibernate (6:44)
Delegation call to subresource object (10:18)
Filter (9:43)
Pagination (8:50)
Param annotations (7:25)
ContextParam (10:09)
Sending status codes (9:10)
Location headers (9:17)
Add specific entity method (8:40)
URI builder (8:17)
WebApplicationException (8:11)
Exception handling with json response (10:46)
Exception mapper (7:21)
Custom exception map (5:09)
HATEOAS - part 1 (10:14)
HATEOAS - part 2 (7:17)
HATEOAS - get links from resource (11:10)
Background - Spring Boot
Setting up requirements (5:14)
Maven overview (2:50)
Set up Maven project for Spring Boot (6:43)
Getting started with Spring Boot
First spring boot application (5:39)
Webapp with Spring boot continues (JSP support) (8:25)
Webapp with Spring boot (10:03)
Application properties (2:38)
ServletInitializer (2:56)
Create war file from maven project (5:38)
Spring MVC + Restful web service
Setting up restful webapp (5:23)
Defining the rules (6:51)
Bootstraping Spring boot project (8:08)
Building restful micro-service with Spring boot
Add view all posts functionality (11:27)
Add view specific post functionality (6:43)
Postman (2:26)
Add post functionality (9:50)
Fixing the issue (4:19)
Perform update operation (6:38)
Perform delete operation (4:07)
Restful micro-service with database connectivity
Setting up (6:06)
Installing MySQL (5:37)
Setting up connection (5:22)
Create database table (4:16)
Configuring entity class (6:11)
Update Service layer (8:06)
Curd operations (8:52)
Bonus
About spring.jpa.hibernate (5:44)
Spring DevTools (4:55)
Custom exception map
Lecture content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock