Spring – MVC Web Applications Version 2.5 Course

Course Code: IN 1033
Course Abstract:

This course enables the experienced Java developer to use the Spring application framework to manage objects in a lightweight "IoC" (inversion-of-control) container; to create simple and complex web applications; and to manage persistent objects using Spring's support for DAOs and transaction control. Spring is a far-reaching framework that aims to facilitate all sorts of Java development, including every level of multi-tier distributed systems. Here we focus on the Core and Web/MVC modules, with a lighter (but by no means dismissive) touch on persistence through DAO and ORM modules.

The Core module gives the developer declarative control over object creation and assembly; this is useful for any tier of any Java application. So is Spring's validation framework, and so we study these things in a mix of standalone (Java SE) applications and web applications. Then participants build web applications that use the Spring MVC framework to rationalize their designs into coherent request/response cycles. They use Spring command objects to manage HTML forms and their data, and connect these to the validation framework. We connect our applications to persistent stores and study the DAO and ORM modules, to better understand JDBC and JPA persistence models and declarative transaction control.

Audience: This course is designed for participants who are experienced Java developers to use the Spring application framework to manage objects in a lightweight "IoC" (inversion-of-control) container.
Duration: 5 days
Learning Outcomes:

Upon completion of this course, the participant will be able to:

> Build a web application as a Spring DispatcherServlet and associated application context, with declared beans acting as controllers, command objects, and view resolvers
> Build and manage HTML forms with Spring command objects and custom tags
> Use Spring interceptors to implement horizontal features in the web application
> Connect business objects to persistent stores using Spring's DAO and ORM modules

Course Topics:

Overview of Spring
Java EE: The Good, The Bad, and the Ugly
Enter the Framework
Spring Value Proposition
The Spring Container
Web Applications
Persistence Support
Aspect-Oriented Programming
The Java EE Module(s)
Integrating Other Frameworks

The Container
JavaBeans, Reconsidered
The Factory Pattern
Inversion of Control
XML View: Declaring Beans
Java View: Using Beans
Singletons and Prototypes

Instantiation and Configuration
Configuring Through Properties
Configuration Namespaces
The p: Notation
Bean (Configuration) Inheritance
Configuring Through Constructors
Bean Post-Processors
Lifecycle Hooks
Integrating Existing Factory Code

Dependency Injection
Complex Systems
Assembling Object Graphs
Dependency Injection
Single and Multiple Relationships
The Utility Schema
Bean Aliases
Inner Beans
Autowiring
Auto-Detecting Beans
@Autowired Properties
Best Practices with Spring 2.5 Annotations

Assembling Object Models
Collections and Maps
Support for Generics
The Spring Utility Schema (util:)
Autowiring to Multiple Beans
Order of Instantiation
Bean Factory vs. Application Context

Validation
Validators
The Errors Object
ValidationUtils
Error Messages and Localization
Nested Property Paths

The Web Module
Servlets and JSPs: What's Missing
The MVC Pattern
The Front Controller Pattern
DispatcherServlet
A Request/Response Cycle
The Strategy Pattern
JavaBeans as Web Components
Web Application Contexts
Handler Mappings
"Creating" a Model
View Resolvers

Customizing Control Flow
HandlerMapping Options
ViewResolver Options
Chaining View Resolvers
Triggering Redirects

Controllers and Commands
Working with Forms
Command Objects
The Template Method Pattern
Command Controllers
Data Binding
MultiActionController
Scope and Granularity of Command Objects
Auto-Detecting @Controllers
The @RequestMapping Annotation

Binding and Validation
Property Editors
Custom Property Editors
Registrars
Validating Form Input

Form Controllers
Form Controllers
AbstractFormController
SimpleFormController
Spring Custom Tags
<form:form> and Friends
<form:errors>
Reporting Errors
@RequestMapping for Form Controllers
@RequestMapping for Multi-Action Controllers
Other Handler Annotations
Controller vs. @Controller

Refining the Handling Cycle
The Intercepting Filter Pattern
Exception Handling
Interceptors
The Decorator Pattern
Context and Lifecycle
Awareness Interfaces
Support and Utility Classes
"Death By XML"

Templates and DAOs
The DAO Pattern
The DaoSupport Hierarchy
The DataAccessException Hierarchy
JDBC DAOs
JdbcTemplate and RowMapper

Working with JPA
Object/Relational Mapping
The Java Persistence API
Blending Spring and JPA
Entity Manager Factories
Configuration Issues

Transactions
Transaction Managers
Transaction Advice
AOP vs. Annotations
JDBC Transaction Manager
JPA Transaction Manager

Appendix A. Spring IDE
Installing Spring IDE
Naviation Features
Auto-Completes
Validation
Support for Spring WebFlow

Appendix B. Learning Resources

Prerequisites: Servlets programming 
JSP
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning