J2EE Application Development with Spring and Hibernate
Request a Class


COURSE COST: $2495.00

COURSE TIMES: 9:00am - 4:30pm

Printable version of this course


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.


•Software designers, developers and programmers •Understand Java •Understand Servlets and JSP


** Course cost listed does not include the cost of the courseware or lunch. If you have any questions, please contact us: learn@vtec.org or 207-775-0244.

Course is subject to minimum enrollment. Course may be run as a virtual class.


•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

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
•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 – Handling Multiple Arguments

Chapter 3 - Database Integration and Transaction Management
•DAO Support in Spring
•Using DataSources
•DAO Templates
•DAO Templates and Callbacks
•Using Spring with JDBC
•Writing Data with JdbcTemplate
•Spring 2.5 NamedParameterJdbcTemplate
•Spring LocalSessionFactoryBean
•Spring JpaTemplate
•Transaction Management in Spring

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
•Advantages of using an ORM Tool
•Hibernate Configuration
•Hibernate Mappings
•Hibernate Properties
•Hibernate XML Configuration Files

Chapter 5 - Basic Mappings
•Creating the Domain Model
•Domain Model
•Hibernate Requirements
•Object Identity
•Primary Keys
•Natural Keys vs. Surrogate Keys
•Hibernate Managed Identifiers
•Identifier Property
•Property Access Strategies
•Quoted SQL Identifiers
•Inheritance Mapping Strategies

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
•Inheriting Transaction Details
•Spring 2.5 XML Syntax for Transaction Advice

Chapter 7 - Aspect-Oriented Programming in Spring
•Types of Advice , Before Advice Example
•After Returning Advice
•Throws Advice
•Pointcuts , Advisors
•Spring 2.5 AOP
•Composite Pointcuts in @AspectJ
•XML Schema-based AOP Support

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

Chapter 10 - Hibernate Queries

Chapter 11 - Transactions, Concurrency and Performance

Chapter 12 - Spring MVC

Chapter 13 - Web Application Alternatives

Chapter 14 - Introduction to Spring Web Flow 2

Chapter 15 - Defining Flows

Chapter 16 - Accessing Enterprise Services

Chapter 17 - Java SE 5 in Spring 2.5