SPFRA – The Spring Framework

Enquire/Book this course

  • This field is for validation purposes and should be left unchanged.
Print this page
  • Code: SPFRA
  • Duration: Days 3
  • Price per delegate: £750.00 +VAT

Trained over 60000 delegates

Course delivered by industry expert instructors

Highly competitive pricing


Course Description

This course enables the experienced Java developer to use the Spring Application Framework to create simple and complex Web applications. 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 MVC modules, with a lighter (but not dismissive) touch on persistence through DAO and ORM modules.
Target Student:
Programmers who need to design and develop Java for the web using the Spring Framework.
  • Java Programming experience
  • Web Programming experience
  • A basic knowledge of XML
Delivery Method: Instructor led, group-paced, classroom-delivery learning model with structured hands-on activities.
The training course combines lectures with practical exercises that help the delegates to put what they have learned on the training course into practice. The exercises specifically build on what has been recently taught and are built up as the training course progresses.
Performance-Based Objectives
At the end of this training course, students should be able to:
  • Overview of Spring
  • Core Techniques
  • The Business Tier
  • The Web Tier
  • Controllers and Commands
  • Working with Forms
  • Refining the Handling Cycle
  • The Persistence Tier
Course Content
Overview of Spring
  • Java EE: The Good, The Bad, and the Ugly
  • Enter the Framework
  • The Spring Framework
  • Value Proposition
  • Top-Level Architecture
  • Environment and Setup
  • Controlling Object Creation: The Core Module
  • Web Applications: The Web Module
  • Persistence: The DAO and ORM Modules
  • The Aspect-Oriented Programming Module
  • Integrating Other Frameworks
2. Core Techniques
  • JavaBeans - Origins
  • JavaBeans, Reconsidered
  • The Factory Patterns
  • Inversion of Control
  • More XML, Less Java
  • XML View of Spring Beans
  • XML Tools
  • Java View of Spring Beans
  • The XmlBeanFactory Class
  • Singleton Beans
  • Singleton vs. Prototype
  • Initializing Bean Properties
  • Constructor-Argument Matching
  • Factory Beans and Methods
3. The Business Tier
  • Complex Systems
  • Assembling Object Graphsl
  • Dependency Injection
  • ref vs. idref
  • Compound Property Names
  • Inner Beans
  • Collections and Maps
  • Populating Maps
  • Support for Generics
  • Autowiring
  • Aliases
  • Order of Instantiation
  • Controlling Instantiation Timing
  • Data Validation
  • Spring Validation
  • The Validator and Errors Interfaces
  • The ValidationUtils Class
  • The MessageSource Interface
  • Deriving a MessageSource
  • Putting Validators to Work
4. The Web Tier
  • Servlets and JSPs: What's Missing?
  • The Model/View/Controller Pattern
  • The Front Controller Pattern
  • The DispatcherServlet Class
  • A Spring Request/Response Cycle
  • The Strategy Pattern
  • JavaBeans as Web Components
  • Configuring DispatcherServlet
  • Web Application Contexts
  • Designing Web Applications
  • Unified Modeling Language
  • A Web Control-Flow Notation
  • Autowiring in the DispatcherServlet
  • Many Frameworks in One
  • The HandlerMapping Interface
  • The Controller Interface
  • Controller Responsibilities
  • The ModelAndView Class
  • The View Interface
  • The ViewResolver Interface
  • Chaining ViewResolvers
  • The redirect: Prefix
  • Settling on a Practice
  • Developing Spring Web Applications
5. Controllers and Commands
  • Working with Forms
  • Command Objects
  • The Request-Handling Cycle, Enhanced
  • The Template Method Pattern
  • Command Controllers
  • The Command Controller Classes
  • Declaring Command Objects
  • Data Binding
  • The MultiActionController Class
  • The MultiActionController Handling Cycle
  • Nested Properties
  • Support for Nested Properties
  • Scope of Command Objects
  • Granularity of Command Objects
6. Working with Forms
  • Customizing Data Binding
  • Registering Property Editors
  • Validating Form Input
  • Spring Web Validation
  • Form Controllers
  • Two Controllers in One
  • The AbstractFormController Class
  • The SimpleFormController Class
  • Two Request Cycles
  • Using SimpleFormController
  • Spring Custom Tags
  • Which Way to Go
7. Refining the Handling Cycle
  • The Intercepting Filter Pattern
  • Exception Handling
  • Interceptors
  • Filters in the Request-Handling Cycle
  • The Decorator Pattern
  • Context and Lifecycle
  • Awareness Interfaces
  • The Lifecycle Interface
  • Support-Class Hierarchy
  • The WebUtils Class
  • Spring Web Scopes
  • Death by XML
8. The Persistence Tier
  • The Data Access Object Pattern
  • Spring DAO Implementations
  • The DaoSupport Hierarchy
  • The DataAccessException Hierarchy
  • The JdbcTemplate Class
  • The RowMapper Interface
  • Object/Relational Mapping
  • Hibernate
  • Hibernate DAOs
  • Transaction Control in J2EE
  • Spring's Transaction ManagementL
  • Declarative Transaction
  • Spring AOP vs. Annotations
  • The @Transactional Annotation