Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

117B.  The Spring Framework

Rev. 2.0.1

 

This course is now available directly from our partner, Capstone Courseware.

This course enables the experienced Java developer to use the Spring Application Framework to manage objects in a lightweight "IoC" (inversion-of-control) container, 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 module, and add overviews of web applications and 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 (J2SE) applications and Web applications deployed to the Tomcat server/container. Then we connect our applications to persistent stores and study the DAO and ORM modules, to better understand JDBC and Hibernate persistence models and declarative transaction control.

 

This course is a variant of Course 117. To serve a range of audiences who are interested in different parts of the Spring framework and who have different backgrounds, we're maintaining three variants. Course 117 adds more coverage of the Web module (“Spring MVC”), making for a more aggressive schedule in the three days. Course 117A has the additional exercises and more relaxed pace found in this course, and adds several chapters for those interested in Spring MVC for web applications.

 

LEARNING 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

·         Connect business objects to persistent stores using Spring's DAO and ORM modules

 

Course Duration:  3 days.

 

Prerequisites: 

·         Java programming – Object Innovations Course 103 is excellent preparation.

·         Basic knowledge of XML – Course 501

 

1.      Overview

J2EE: 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.      Dependency Injection

Complex Systems

Assembling Object Graphs

Dependency Injection

Single and Multiple Relationships

The Utility Schema

Autowiring

Bean Aliases

Order of Instantiation

 

4.      Validation

Validators

The Errors Object

ValidationUtils

Error Messages and Localization

Nested Property Paths

 

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

 

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

 

Appendix A.  Learning Resources

 

System Requirements

 

Hardware – minimal:                     500 MHz, 256 meg RAM, 500 meg disk space

 

Hardware – recommended:           1.5 GHz, 512 meg RAM, 1 gig disk space.

 

Operating system:                          Tested on Windows XP Professional. Course software should be viable on all systems which support a J2SE 5.0 JDK.

 

Software:                                       All free downloadable tools.