top of page

Spring Framework Training

DURATION: 40 hours (5 days)

Course Description

Spring is an application framework that provides a comprehensive programming and configuration model for Java-based enterprise applications. This 5-day training will enable students to learn the hottest, most in-demand Java web framework. 

Course Objectives 

After completing this course, students should be able to:

  • 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. 

  • 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 module.

Who Should Attend 

All attendees must have at least one year of full-time Java development experience, developing Servlets, Java Server Pages and basic knowledge of Extensible Markup Language.

Course Content 

  1. Overview

    • Web Application 

    • 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

  2. 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

  3. The Business Tier

    • Complex Systems

    • Assembling Object Graphs

    • Dependency Injection

    • Single and Multiple Relationships

    • Autowiring

    • Bean Aliases

    • Order of Instantiation

    • Validation

    • Nested Properties

  4. The Web Tier

    • 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

  5. Controllers and Commands

    • Working with Forms

    • Command Objects

    • The Template Method Pattern

    • Command Controllers

    • Data Binding

    • MultiActionController

    • Scope and Granularity of Command Objects

  6. Working with Forms

    • Property Editors

    • Validating Form Input

    • Form Controllers

    • AbstractFormController

    • SimpleFormController

    • Spring Custom Tags

    • <form:form> and Friends

    • <form:errors>

    • Reporting Errors

  7. 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"

  8.  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

bottom of page