Spring 3.0

Duration: 4 days  

Spring Framework Training Overview

Spring is a leading, "full-stack" Java/Java  EE application framework. In this hands-on course, attendees learn how to use Spring to rapidly build Java EE applications 

Prerequisites 

All attendees must have at least one year of full-time Java and JSP development experience. Prior experience with EJB and Java web services is recommended but not required.

Training Objectives

  • Understand the scope, purpose, and architecture of Spring
  • Use Spring's Inversion of Control to declare application components, rather than hard-coding their states and lifecycles
  • Use Dependency Injection to further control object relationships from outside the Java code base
  • Create validators for business objects, and associate them for application-level and unit-testing uses
  • Build a Web application as a Spring DispatcherServlet and associated application context, with declared beans acting as controllers, command objects, and view resolvers¬†[4-day class only]
  • Build and manage HTML forms with Spring command objects and custom tags¬†[4-day class only]
  • Use Spring interceptors to implement horizontal features in the Web application¬†[4-day class only]
  • Connect business objects to persistent stores using Spring's DAO and ORM module

Course Details

Course Outline

  • Overview
    • Java EE: The Good, The Bad, and the Ugly
    • Enter the Framework
    • Spring Modules
    • Controlling Object Creation
    • Web Applications
    • Persistence Support
    • Aspect-Oriented Programming
    • Integrating Other Frameworks
  • Core Techniques
    • Component-Based Software
    • JavaBeans, Reconsidered
    • The Factory Pattern
    • Inversion of Control
    • XML View: Declaring Beans
    • Java View: Using Beans
    • Singletons and Prototypes
    • Initializing Bean State
  • Dependency Injection
    • Complex Systems
    • Assembling Object Graphs
    • Dependency Injection
    • Single and Multiple Relationships
    • The Utility Schema
    • Autowiring
    • Bean Aliases
    • Order of Instantiation
  • 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 Spring MVC¬†
    • 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
  • Web 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
  • 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"
  • The Persistence Tier
    • The DAO Pattern
    • The DaoSupport Hierarchy
    • The DataAccessException Hierarchy
    • JDBC DAOs
    • JdbcTemplate and RowMapper
    • Object/Relational Mapping
    • Hibernate¬†DAOs
    • Transaction Control
    • AOP vs. Annotations