Learn: in:
» back to Search Results

Course rating of 0 Vendor rating of 4

This course provides students with the knowledge needed to use the Spring Framework and to use the Hibernate Object/Relational Mapping (ORM) framework

Course Outline

This course provides students with the knowledge needed to use the Spring Framework and to use the Hibernate Object/Relational Mapping (ORM) framework to implement the persistence layer of J2EE applications to develop flexible, testable and maintainable Java EE enterprise applications. The labs are done using RAD 7.0.


  •     The Need for Spring
  •     Inversion of Control
  •     Wiring Beans
  •     Object/Relational Mapping Concepts
  •     Basic Hibernate Mappings
  •     Aspect-Oriented Programming in Spring including support for AspectJ
  •     Manipulating Persistent Objects
  •     Advanced Hibernate Mappings
  •     Transactions and Concurrency
  •     Spring MVC, form tag library and portlet framework
  •     Spring Web Flow
  •     Accessing Enterprise Services

What you will learn
      After completing this course, the student should be able to:

  •     Understand the need for the Spring framework
  •     Use inversion of control to increase flexibility and testability of applications
  •     Understand the concepts of object/relational mappings
  •     Create Hibernate mappings
  •     Understand and use aspect-oriented programming to better handle cross-cutting concerns
  •     Integrate Spring with the Hibernate ORM framework
  •     Retrieve and update persistent objects using Hibernate
  •     Use HQL (Hibernate Query Language) and criteria queries
  •     Know when to use database and application transactions
  •     Use the Spring MVC web framework and form tag library to develop flexible web applications
  •     Use the Spring Web Flow model for programming web applications
  •     Access enterprise services including JMS, email, job schedulers and JNDI


    Software designers, developers and programmers


      Five days.

Course Outline
Chapter 1 - Introduction to the Spring Framework

  •     What is the Spring Framework?
  •     Spring Characteristics
  •     Spring Modules
  •     Why Spring?
  •     Problems with EJB
  •     Spring Philosophies
  •     Alternatives to Spring
  •     Simple Example
  •     What is Inversion of Control?
  •     IoC Example

Chapter 2 - Spring Dependency Injection

  •     Spring Containers
  •     Spring Containers
  •     Bean Creation
  •     Bean Destruction
  •     Wiring Beans
  •     Bean Element
  •     Dependency Injection – Primitives and Strings
  •     Dependency Injection - References
  •     Dependency Injection – Inner Beans
  •     Dependency Injection – Lists, Arrays and Sets
  •     Dependency Injection – Maps
  •     Dependency Injection - Properties
  •     Constructor Injection
  •     Constructor Injection – Handling Multiple Arguments
  •     Constructor vs. Setter Injection
  •     Autowiring
  •     Autowiring Example
  •     Autowiring
  •     Mixing Explicit and Autowiring
  •     Special Spring Interfaces
  •     BeanPostProcessor
  •     BeanFactoryPostProcessor
  •     PropertyPlaceholderConfigurer
  •     CustomEditorConfigurer
  •     Awareness Interfaces
  •     Listening For and Publishing Events
  •     XML Schema-based Configuration
  •     XML Schema – jndi Example
  •     XML Schema – util Example

Chapter 3 - Database Integration and Transaction Management

  •     DAO Support in Spring
  •     DataAccessException
  •     Using DataSources
  •     DAO Templates
  •     DAO Templates and Callbacks
  •     Using Spring with JDBC
  •     Writing Data with JdbcTemplate
  •     Reading Data with JdbcTemplate
  •     Reading Single-Row Scalar Data
  •     Spring 2.5 NamedParameterJdbcTemplate
  •     ORM Tool Support in Spring
  •     Hibernate
  •     Hibernate Session Factory
  •     Spring LocalSessionFactoryBean
  •     Spring HibernateTemplate
  •     Spring HibernateCallback
  •     HibernateTemplate Convenience Methods
  •     LocalEntityManagerFactoryBean
  •     Spring JpaTemplate
  •     Spring JpaCallback
  •     JpaTemplate Convenience Features
  •     Transactions
  •     Transaction Management in Spring
  •     Spring Transaction Managers
  •     Programmatic Transactions

Chapter 4 - Introduction to Hibernate

  •     What is Hibernate?
  •     Relational Database Technology
  •     Accessing Relational Databases from Java
  •     Domain Models
  •     Comparing Object and Relational Models
  •     Identity Modeling
  •     Granularity of Objects and Tables
  •     Association Modeling
  •     Navigation
  •     Inheritance
  •     What is Object/Relational Mapping?
  •     Advantages of using an ORM Tool
  •     Architecture of Hibernate
  •     Hibernate API
  •     Extension Interfaces
  •     Hibernate Configuration
  •     Hibernate Mappings
  •     Hibernate Properties
  •     Hibernate XML Configuration Files
  •     Non-Managed and Managed Environments
  •     Configuration in a Non-Managed Environment
  •     Configuration in a Managed Environment
  •     Binding SessionFactory to JNDI
  •     A Simple Example
  •     Alternatives to Hibernate
  •     EJB Entity Beans
  •     Java Persistence API
  •     Hand-Coded Persistence Using JDBC
  •     Object-Oriented Databases
  •     Other ORM Tools

Chapter 5 - Basic Mappings

  •     Creating the Domain Model
  •     Domain Model
  •     Domain Objects
  •     Hibernate Requirements
  •     Object Identity
  •     Primary Keys
  •     Natural Keys vs. Surrogate Keys
  •     Identifier Property
  •     Identifier Property
  •     Identifier Generators
  •     Hibernate Managed Identifiers
  •     Mapping Metadata
  •     Mapping Properties
  •     Property Access Strategies
  •     Derived Properties
  •     Preventing Insert/Update
  •     Using Database Schemas
  •     Quoted SQL Identifiers
  •     Specifying Java Packages
  •     Entity and Value Types
  •     Components
  •     Components
  •     Components
  •     Bi-Directional Components
  •     Other Component Details
  •     Association Mappings
  •     Many-to-One Association
  •     One-to-Many Association
  •     Inheritance Mapping Strategies
  •     Table per Concrete Class
  •     Table per Subclass
  •     Table per Class Hierarchy

Chapter 6 - Introduction to Aspect-Oriented Programming

  •     What is AOP?
  •     Cross-Cutting Concerns
  •     AOP Concepts
  •     AOP in Spring
  •     Declarative Transactions
  •     Transaction Attributes
  •     Transaction Propagation Behavior
  •     Transaction Isolation Levels
  •     Read-Only and Timeouts
  •     NameMatchTransactionAttributeSource
  •     Declaring Transactions with Metadata
  •     Inheriting Transaction Details
  •     Autoproxying Transactions
  •     Autoproxying Transactions
  •     Spring 2.5 XML Syntax for Transaction Advice

Chapter 7 - Aspect-Oriented Programming in Spring

  •     Types of Advice
  •     Before Advice
  •     Before Advice Example
  •     After Returning Advice
  •     Around Advice
  •     Around Advice Example
  •     Throws Advice
  •     Pointcuts
  •     Advisors
  •     NameMatchMethodPointcut
  •     NameMatchMethodPointcut Example
  •     Perl5RegexpMethodPointcut
  •     ControlFlowPointcut
  •     IntroductionInterceptor
  •     IntroductionInterceptor Example
  •     DelegatingIntroductionInterceptor
  •     IntroductionAdvisor
  •     BeanNameAutoProxyCreator
  •     BeanNameAutoProxyCreator Example
  •     DefaultAdvisorAutoProxyCreator
  •     DefaultAdvisorAutoProxyCreator Example
  •     Metadata Autoproxying
  •     Spring 2.5 AOP
  •     @AspectJ
  •     Aspects in @AspectJ
  •     Pointcuts in @AspectJ
  •     execution Pointcut
  •     Composite Pointcuts in @AspectJ
  •     Before Advice in @AspectJ
  •     After Returning Advice in @AspectJ
  •     After Throwing Advice in @AspectJ
  •     After (Finally) Advice in @AspectJ
  •     Around Advice in @AspectJ
  •     Introductions in @AspectJ
  •     Accessing Parameters in @AspectJ
  •     Determining Parameter Names in @AspectJ
  •     Advice Ordering in @AspectJ
  •     XML Schema-based AOP Support
  •     Declaring Pointcuts
  •     Before Advice in XML Syntax
  •     After Returning Advice in XML Syntax
  •     Introductions in XML Syntax
  •     Advisors in XML Syntax

Chapter 8 - Manipulating Persistent Objects

  •     Object States
  •     Transient Objects
  •     Persistent Objects
  •     Detached Objects
  •     Object Identity
  •     Persisting a Transient Object
  •     Retrieving and Updating a Persistent Object
  •     Deleting a Persistent Object
  •     Updating a Detached Object
  •     Transitive Persistence
  •     Using save-update
  •     Differentiating Between Transient and Detached Objects

Chapter 9 - Advanced Mappings

  •     One-to-One Associations
  •     Many-to-Many Associations
  •     Polymorphic Associations
  •     Entity vs. Value Types
  •     Built-in Mapping Types
  •     Using Mapping Types
  •     Custom Mapping Types
  •     Collections of Value Types
  •     Set of Value Types
  •     Bag of Value Types
  •     List of Value Types
  •     Map of Value Types
  •     Collections of Components
  •     Sorting Collections

Chapter 10 - Hibernate Queries

  •     HQL Queries
  •     Parameter Binding
  •     Pagination
  •     Named Queries
  •     Polymorphic Queries
  •     Restriction
  •     String Comparison
  •     Logical Operators
  •     Ordering the Results
  •     Join Queries
  •     Implicit Joins
  •     Where Clause Joins
  •     Criteria Queries
  •     Polymorphic Criteria Queries
  •     Restricting Criteria Queries
  •     Comparing Strings in Criteria Queries
  •     Using Logical Operators in Criteria Queries
  •     Ordering Results in Criteria Queries
  •     Using Joins in Criteria Queries
  •     Using Dot Notation to Get Component Properties

Chapter 11 - Transactions, Concurrency and Performance

  •     Database Transactions
  •     JDBC and JTA Transactions
  •     Hibernate Transactions
  •     Flushing the Hibernate Session
  •     Isolation Issues
  •     Isolation Levels
  •     Configuring the Isolation Level
  •     Pessimistic Locking
  •     Application Transactions
  •     Application Transaction Isolation
  •     Managed Versioning
  •     Using Existing Properties to Implement Optimistic Locking
  •     Caching
  •     Hibernate Cache Architecture
  •     The First-Level Cache
  •     The Second-Level Cache
  •     Cache Concurrency Strategies
  •     Enabling the Second-Level Cache
  •     Cache Regions
  •     Specifying a Cache Provider
  •     Support for Cache Providers
  •     Explicitly Evicting Objects From the Second-Level Cache
  •     Fetching Strategies
  •     Fetching Strategies in Mappings - Single Point Associations
  •     Fetching Strategies in Mappings - Collections
  •     Fetching Strategies in Mappings - Batches
  •     Explicit Initialization of Lazily Loaded Objects
  •     Fetching Strategies in HQL Queries
  •     Fetching Strategies in Criteria Queries
  •     The N+1 Selects Issue
  •     The N+1 Selects Issue
  •     Report Queries - Projections
  •     Report Queries - Aggregation
  •     Report Queries - Grouping

Chapter 12 - Spring MVC

  •     Spring MVC
  •     Spring MVC Components
  •     DispatcherServlet
  •     Context Loaders
  •     Spring MVC Example
  •     Mapping Web Requests
  •     BeanNameUrlHandlerMapping
  •     CommonsPathMapHandlerMapping
  •     Using Multiple Handler Mappings
  •     Controller Hierarchy
  •     AbstractCommandController
  •     AbstractCommandController
  •     SimpleFormController
  •     AbstractWizardFormController
  •     MultiActionController
  •     ThrowawayController
  •     View Resolution
  •     InternalResourceViewResolver
  •     BeanNameViewResolver
  •     XmlViewResolver
  •     ResourceBundleViewResolver
  •     Using Multiple View Resolvers
  •     Binding Views to Models
  •     Spring 2.5 Form Tags
  •     form and input Tags
  •     password and hidden Tags
  •     checkbox Tag
  •     radiobutton Tag
  •     textarea Tag
  •     select Tag
  •     option Tag
  •     options Tag
  •     errors Tag
  •     Portlets
  •     Spring 2.5 Portlet MVC Framework

Chapter 13 - Web Application Alternatives

  •     Velocity Templates
  •     Configuring Velocity in Spring
  •     Velocity View Resolution
  •     Using Velocity Utility Tools
  •     Accessing Session/Request Attributes in Velocity
  •     Binding Velocity Views to the Model
  •     FreeMarker
  •     Configuring FreeMarker in Spring
  •     FreeMarker View Resolution
  •     Accessing Session/Request Attributes in FreeMarker
  •     Binding FreeMarker Views to the Model
  •     Jakarta Tiles
  •     Configuring Tiles in Spring
  •     Tiles View Resolution
  •     Tiles Component Controller
  •     Creating Excel Spreadsheets
  •     Creating PDF Documents
  •     Creating Other Non-HTML Documents
  •     Jakarta Struts
  •     Using Spring with Struts
  •     Configuring Spring in Struts
  •     Spring-Aware Struts Actions
  •     Delegate Requests to Struts Action Beans
  •     DelegatingRequestProcessor

Chapter 14 - Introduction to Spring Web Flow 2

  •     What is Spring Web Flow 2?
  •     Relationship to Spring #and Spring MVC
  •     Spring Web Flow 2 Modules
  •     Integration Support
  •     What is a Flow?
  •     Book Hotel Flow Example
  •     Book Hotel Flow Definition
  •     Benefits of Spring Web Flow 2
  •     Required Software
  •     Configuration Steps
  •     JAR File Instructions
  •     Configure web.xml
  •     Spring Web Flow Components
  •     Sample Spring Web Flow Configuration File
  •     Summary

Chapter 15 - Defining Flows

  •     Recap: What is a Flow?
  •     Recap: Book Hotel Flow Example
  •     Flow Definition Language
  •     Skeletal Flow Definition
  •     States
  •     View State
  •     Transitions
  •     Generating Events
  •     Generating Events using Submit Button
  •     Generating Events using Links
  •     End States
  •     Actions
  •     When do Actions Occur?
  •     Putting it all Together
  •     Introduction to Unified Expression Language
  •     Unified Expression Language Functionality
  •     Unified Expression Language Implicit Variables
  •     Flow Instances
  •     Flow Variables
  •     Variable Scopes
  •     Assigning and Accessing Variables
  •     Flow Input
  •     Binding a View to a Model
  •     Summary

Chapter 16 - Accessing Enterprise Services

    Remoting in Spring
    Clients of RMI Services
    Exporting RMI Services
    Hessian and Burlap
    Clients of Hessian/Burlap Services
    Exporting Hessian/Burlap Services
    Spring HTTP Invoker
    Clients of HTTP Invoker Services
    Exporting HTTP Invoker Services
    Clients of EJB Services
    Clients of Web Services
    Accessing Objects in JNDI
    Using the Quartz Scheduler
    Configuring a Quartz Job
    Scheduling a Quartz Job
    Starting Quartz Jobs
    Scheduling a Quartz Job Using a Cron Expression
    Sending Email
    Message-Oriented Middleware and JMS
    Spring JMS Resources
    JMS Templates and Callbacks
    Sending JMS Messages
    Receiving JMS Messages
    Converting Messages
    Asynchronous Reception of JMS Messages
    Spring 2.5 Dynamic Language Support

Chapter 17 - Java SE 5 in Spring 2.5

    Java SE 5 Use in Spring 2.5
    @Required in Java Code
    Configuration of @Required
    @Transactional in Java Code
    Configuration of @Transactional
    @Transactional Properties
    @Transactional Propagation
    @Transactional Isolation
    @Transactional Exceptions
    Regular JdbcTemplate Use
    Use of SimpleJdbcTemplate

Prerequisites & Certificates

Understand Java - Course WA1278 addresses the Java prerequisite Understand Servlets and JSP - Course WA1550 addresses the Servlet and JSP prerequisite

Certificates offered

Cancellation Policy
Student's Right to Cancel Registration

If Customer cancels or reschedules an original registration for a class at least ten (10) business days prior to the class start date, Web Age Solutions will issue a full refund of fees paid for class. Customer is not otherwise entitled to a refund of fees paid or released from its obligation to pay for any registration cancelled or rescheduled by Customer, including without limitation a registration previously rescheduled by Customer. Payment for the course will not be refunded if cancellation is received less than ten (10) business days before the class start date. If you wish to send another student in your place, please contact Web Age Solutions at the number below.

Web Age Solution's Right to Cancel or Reschedule

Web Age Solutions reserves the right to cancel or reschedule a class at any time. If a class is cancelled or rescheduled, Web Age Solutions will attempt to notify students ten (10) business days prior to the scheduled class start date. Web Age Solutions assumes no financial liability for any cancellation fees.


Map & Reviews
Web Age Solutions
[ View Provider's Profile ]


This course has not yet been rated by one of our members.

If you have taken a course through this vendor please log into your account and leave feedback for this vendor. You will be helping ensure our members get directed to the best training facilities.

Here are some reviews of the training vendor.
I would not recommend WebAge. I would recommend a local provider, the arrangement was not ideal. Using rented space which consisted of a boardroom was not ideal and very disruptive to both the instructor and students. In addition, providing the course to both in class and online students was not ideal. I paid for an instructor lead course so that I don't need to deal with the issues of online training.
Reviewed by 2017
nope, but the room was quite cold in the mornings
Reviewed by 2014

This course currently does not have any dates scheduled. Please call 1-877-313-8881 to enquire about future dates or scheduling a private, in house course for your team.

This page has been viewed 423 times.