Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Enterprise Java with Spring (Language Bangla)
First Section
Link to QA site
Source Code for the Lectures
Getting Started
What is Spring? (5:38)
Installing JDK and STS (12:08)
Introducing Maven (14:01)
Hello World (12:25)
Loading Beans from Class Path (4:16)
Basic Bean Configuration
Beans Constructor Arguments (8:12)
Bean Properties (3:45)
Dependency Injection (9:43)
Bean Scope (4:04)
Bean Init and Destroy methods (6:38)
Factory Method and Factory Class (10:53)
The P Namespace (3:58)
The C Namespace and using -ref (6:01)
Wiring Lists (6:58)
Setting List of Beans (8:51)
Inner Beans (4:49)
Setting Maps (9:58)
When to use null to set a property (5:12)
Autowiring
Autowiring by type (10:52)
Autowiring by name (3:34)
Autowiring by Constructor (3:18)
Default Autowiring (7:11)
Removing Autowiring Ambiguities (4:14)
Wiring with Annotations
The Autowired Annotation (7:41)
Required Attribute of Autowired Annotation (3:47)
Using Qualifiers (10:24)
Resource Annotation JSR 250 (4:39)
Init and Destroy methods through Annotations (2:47)
Inject Annotation JSR 330 (5:31)
Automatic Bean Discovery (5:50)
Setting Property Values through Annotations (3:19)
Spring Expression Language (SPEL)
Introducing SPEL (6:42)
Spring Framework SPEL with Annotations (7:51)
Some SPEL operators (5:45)
Working with Databases
Install MySQL on Ubuntu (6:42)
Create Database and Table (5:40)
Using Property Files (7:00)
DAO pattern and downloading the connector jar (5:25)
Connection Pooling with Apache DBCP (8:00)
Jdbc Template and Querying the Database (12:20)
Handling Database Exceptions (6:44)
Using Named Parameters (9:00)
Update Statements (4:26)
Getting Placeholder Values from Beans (7:45)
Adding Update method (4:52)
Batch Updates - Prepared Statements (7:10)
Transactions (8:23)
Web Application Basics with Spring MVC
Basic Non Spring Web App (6:43)
Bringing in Maven (6:58)
The Dispatcher Servlet (6:33)
Adding a Controller (5:18)
View Resolvers (7:28)
Adding Data to Session (5:43)
Using Spring Data Models (8:09)
Using JSTL (5:08)
Configuring a JNDI DataSource (16:59)
Bringing in DAO code (5:12)
Loading Bean Containers with ContextLoaderListener (5:58)
Creating DataSource Bean (5:14)
Adding a Service Layer (12:03)
Adding a new controller (11:11)
Getting URL Parameters (4:13)
Working with Forms
Creating a Form (8:03)
Getting Form Values (5:50)
Bringing in Bootstrap (9:26)
Styling the Form (9:56)
Adding Hibernate Form Validation Support (9:51)
More Form Validation Tags (8:32)
Retaining Form Information (8:38)
Displaying Form Validation Errors (3:39)
Creating a Custom Validation Annotation (13:57)
Adding Database Codes (9:20)
Exception handling in Spring MVC (8:34)
Aspect Oriented Programming (AOP)
Base project for working with Aspects (12:21)
A Simple Aspect Example (10:32)
Annotation Based Aspects (10:17)
Wildcards in Pointcut Expressions (13:04)
Advice Types - After, Around, and Others (10:25)
Proxies, Interfaces and Aspects (11:15)
Within Pointcut Designator (6:49)
This and Target designators (7:44)
Matching Subpackages (4:15)
Annotation Specific PCDs (13:18)
The Bean PCD (3:17)
The Args PCD (6:54)
Getting Target Method Arguments (5:07)
Getting Arguments using Args (4:41)
Combining Pointcuts (6:28)
Introductions - Adding functionality with Aspect (12:23)
Spring Security and Managing Users
Servlets Filters (8:18)
Adding a Spring Security Filter (6:48)
Adding Spring Login Form (14:21)
Serving Static Resources (2:39)
Customizing the Login Form (12:44)
Displaying Login Errors (6:03)
Installing MySQL Workbench and Authorizing Users from Database (10:30)
Adding a Create Account Form (16:02)
Making the Create Account Form work (14:47)
Adding Validation to User Form (11:04)
Dealing with Duplicate Usernames (12:26)
Storing Validation Messages in a Property File (10:13)
Using HTML5 Validation to check password fields (4:35)
Using Property File Values in JSPs (5:25)
Adding a Logout Link (6:11)
Working with Roles (6:40)
Outputting text based on authentication status (7:12)
Rowmapping with Bean Property Row Mapper (7:30)
Using Custom Authentication Queries - Case Sensitive Usernames (3:48)
Method Level Access Control (8:08)
Catching Secure Annotation Violations (10:22)
Adding Remember Me Functionality (11:06)
Encrypting Passwords (17:17)
Apache Tiles and Spring MVC
Tiles Dependencies (11:12)
Hello World Apache Tiles (13:44)
Adding Header, Footer, and Content (7:44)
Formatting Notices Application (21:39)
Creating Tiles from JSP files (18:11)
Adding Login links to Navbar (4:17)
Logging and Testing
Adding Log4j Logging (7:59)
Resolving Logging Conflict (6:34)
Using Logging (4:30)
Creating MySQL test database (4:07)
Using Spring Profiles (4:42)
Creating JUnit Tests (11:20)
Coding the JUnit Dao tests (8:27)
Improving the Notices Web Application
Normalizing the Database (7:29)
Adding more JUnit tests (9:57)
Querying Tables with Foreign Keys and Refactoring DAO Layer (17:59)
Refactoring the web layer (10:08)
Getting Username of the Logged in user (5:20)
Custom Rowmappers (9:06)
Conditional texts in JSPs (15:08)
Editing Database Objects with Forms (10:56)
Multiple form submits and optional parameters (12:04)
Hibernate
Introducing Hibernate (7:47)
A Simple Hibernate Query (18:31)
Saving Objects (10:22)
Validation Groups and Password Encryption (14:15)
Translating Hibernate Exceptions to Spring Exceptions (5:54)
Queries with Criteria (11:13)
Mapping ManyToOne Relationships (14:10)
Restrictions on Joined Tables (4:02)
Multiple Criteria (7:59)
Updating Objects (7:47)
Deleting Objects (9:08)
Completing the NoticesDao (4:02)
Spring Webflow
Introducing Webflow (1:32)
Creating a flow registry (6:38)
Hooking up URLs to Webflows (7:33)
Connecting Webflow and Apache Tiles (8:15)
Creating a Messages Table (4:53)
Creating Message and MessagesDao (11:09)
Adding a Message Form (12:31)
Transitions (4:39)
Action States (11:13)
Linking to Webflows (8:29)
Validating Webflow Forms (7:33)
Accessing User Details in Webflow (12:18)
Final Words
Outro (1:18)
Teach online with
Querying Tables with Foreign Keys and Refactoring DAO Layer
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock