This course enables the Java developers to use the Spring application framework to manage objects in a lightweight "IoC" (inversion-of-control) container. 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" module of the framework, developing facility in instantiating, configuring, and assembling Spring beans for various purposes.
Duration : 40 Hrs | 21 Days | 3 Weeks
Program Contents
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
Forms 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
Audience :
Java Servlet and JSP developers who need to use Struts as a framework for MVC Web Application Development
Java programmers with a need to understand the Hibernate framework and API
Developers who want to learn Spring Framework
Pre-requisites :
A solid understanding of Java is required
Java Servlet and JSP programming
Basic understanding of HTML and XML
Basic understanding of relational databases and SQL