Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Java Spring Tutorial
Getting Started
What is Spring? (6:30)
Notes on Spring 4, and a Bugfix
Setting Up Your System (15:53)
Introducing Maven (13:30)
Using Maven on the Command Line (8:44)
Spring Hello World (21:09)
Class Path Contexts (5:12)
Basic Bean Configuration
Constructor Arguments (8:16)
Setting Bean Properties (7:16)
Dependency Injection (11:38)
Bean Scope (4:24)
Init and Destroy Methods (8:46)
Factory Beans and Methods (13:03)
The P Namespace (5:29)
Setting List Properties (5:47)
Lists of Beans (5:21)
Inner Beans (3:50)
Property Maps (4:04)
Arbitrary Maps as Bean Properties (5:40)
Autowiring
Autowiring by Type (8:40)
Autowiring by Name (5:55)
Autowiring by Constructor (4:18)
Default Autowiring (7:28)
Removing Autowire Ambiguities (4:49)
Wiring with Annotations
Adding Support for Annotation-Based Wiring (5:44)
The "Autowired" Annotation (7:54)
Optional Beans (2:33)
Using Qualifiers (7:59)
The Resource Annotation (JSR-250) (3:58)
Annotation-Based Init and Destroy Methods (2:20)
The Inject annotation (JSR-330) (4:58)
Automatic Bean Discovery (4:47)
Setting Property Values via Annotations (3:42)
Spring Expression Language (SPEL)
Introducing SPEL (13:28)
Using SPEL with Annotations (5:16)
Some useful SPEL Operators (7:29)
Working with Databases
Creating a Database with MySQL (14:30)
Using Property Files (8:50)
Implementing the DAO Pattern (4:28)
Downloading a Connector Jar (3:05)
Configuring Connection Pooling with Apache DBCP (11:46)
JDBC Templates (4:43)
Querying the Database (12:08)
Database Exceptions (6:17)
Named Parameters (10:12)
Update Statements (5:10)
Getting Placeholder Values from Beans (8:11)
Adding an Update Method to the DAO (6:30)
Batch Updates: Prepared Statements (11:38)
Transactions (11:58)
Web Application Basics with Spring MVC
A Basic Non-Spring Web App (8:18)
Bringing in Maven (5:36)
The Dispatcher Servlet (12:16)
Adding a Controller (7:20)
View Resolvers (8:55)
Adding Data to the Session (7:48)
Using Spring Data Models (12:15)
Using JSTL (JSP Standard Tag Library) (10:08)
Configuring a JNDI Data Source (21:28)
Bringing in the DAO Code (7:29)
Loading Bean Containers with ContextLoaderListener (9:26)
Creating a Datasource Bean (6:15)
Adding a Service Layer (15:00)
Adding a New Controller (11:23)
Getting URL Parameters (5:58)
Working with Web Forms
Creating a Form (11:29)
Getting Form Values (5:39)
Adding CSS Styles (9:37)
Serving Static Resources (10:03)
Adding Hibernate Form Validation Support (12:59)
More Form Validation Tags (7:43)
Making Forms Remember Values (8:45)
Displaying Form Validation Errors (6:30)
Creating a Custom Validation Annotation (18:41)
Hooking Up the Controller and Database Code (10:10)
Exception Handling in Spring MVC (12:42)
Aspect-Oriented Programming (AOP)
A Base Project for Working with Aspects (8:32)
A Simple Aspect Example (13:00)
Annotation-Based Aspects (12:34)
Wildcards in Pointcut Expressions (15:27)
Advice Types: After, Around and Others (11:02)
Proxies, Interfaces and Aspects (12:47)
The “Within” Pointcut Designator (3:55)
“This”, “Target” and Matching Subpackages (8:21)
Annotation-Specific PCDs (13:16)
The “Bean” PCD (2:41)
The “Args” PCD (7:42)
Getting Target Method Arguments (3:02)
Getting Arguments Using “Args” (6:54)
Combining Pointcuts (6:06)
Introductions: Adding Functionality Using Aspects (10:54)
Spring Security and Managing Users
Servlets Filters: A Review (9:02)
Adding a Spring Security Filter (9:42)
Adding a Spring Login Form (17:23)
Serving Static Resources: Access Rules (2:48)
Customising the Login Form (9:50)
Displaying Login Errors (9:02)
Authorising Users from a Database (13:35)
Adding a “Create Account” Form (16:06)
Making the “Create Account” Form Work (18:20)
Adding Validation to the User Form (17:29)
Dealing with Duplicate Usernames (13:30)
Storing Validation Messages in a Property File (9:35)
Using JQuery to verify the password (28:01)
Using Property File Values in JSPs (6:39)
Adding a Logout Link (6:26)
Working With Roles (9:04)
Outputting Text Based on Authentication Status (6:26)
Row Mapping with BeanPropertyRowMapper (11:11)
Using Custom Authentication Queries: Case Sensitive Usernames (5:42)
Method-Level Access Control (11:28)
Catching Secure Annotation Violations (13:23)
Adding “Remember Me” Functionality (9:42)
Encrypting Passwords (19:34)
Apache Tiles and Spring MVC
Tiles Dependencies (10:48)
“Hello World” Apache Tiles (13:05)
Adding Headers and Footers (10:56)
Formatting the Offers Application (9:43)
Creating Tiles from JSP Files (12:46)
Logging and Testing
Adding Log4J Logging (8:56)
Resolving Logging Conflicts (7:38)
Using Logging (5:20)
Creating a MySQL Test Database (3:55)
Using Spring Profiles (4:25)
Creating JUnit Tests (13:43)
Coding the JUnit DAO Tests (14:33)
Improving the Application
Normalizing the Database (8:37)
Querying Tables with Foreign Keys and Refactoring the DAO Layer (19:34)
Refactoring the Web Layer (9:13)
Getting the Username of the Logged-In User (6:12)
Deleting from Tables with Foreign Keys and a Little Bugfix (3:09)
Custom RowMappers (7:08)
Conditional Database-Dependent Text in JSPs (10:49)
Editing Database Objects with Forms (12:04)
Multiple Form Submits and Optional Parameters (13:44)
Adding a Confirm Dialog with JQuery (8:25)
Hibernate
Introducing Hibernate (5:35)
A Simple Hibernate Query (22:53)
Saving Objects (8:27)
Validation Groups and Password Encryption (18:16)
Translating Hibernate Exceptions to Spring Exceptions (5:32)
Queries with Criteria (9:50)
Mapping Many-to-One Relationships (15:54)
Restrictions on Joined Tables (4:15)
Multiple Criteria (7:50)
Updating Objects (7:30)
Deleting Objects (7:57)
Completing the Offers DAO (10:05)
Spring Webflow
Introducing Webflow (3:46)
Creating a Flow Registry (9:40)
Hooking Up URLs to Webflows (9:27)
Connecting Webflow and Apache Tiles (10:11)
Creating a “Messages” Table (5:55)
Creating a “Message” Class (13:07)
Adding a Message Form (14:08)
Transitions (6:08)
Action States (10:21)
Linking to Webflows (8:22)
Validating Webflow Forms (10:23)
Accessing User Details in Webflow (13:47)
JSON and AJAX
Creating a JSON Server (25:20)
Updating Dynamically with jQuery (31:53)
Generating Pages with Javascript (27:15)
Adding Reply Boxes (13:05)
Showing and Hiding the Reply Forms (11:49)
Stopping and Starting the Timer (3:15)
Getting the Text from the Right TextArea (7:53)
Posting Back JSON Data (17:37)
Giving the User Feedback (12:19)
Sending Email with Springmail (7:31)
Outro
Some Final Words ... (2:13)
Appendix
Database SQL
Frequently Asked Questions: Problems? Check here ...
50%+ Discount: Servlets, JSPs and JSTL
Recommended Books
Teach online with
Constructor Arguments
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock